ios - Swift - Shake Motion to do prepareforsegue -



ios - Swift - Shake Motion to do prepareforsegue -

my intention empty values within 2 arrays - force[] & stiffness[], class prepareforsegue, when user perform shake gesture. below codes , error encountering.

springviewcontroller1

var springnum : nsinteger = 0 class springviewcontroller1 : uitableviewcontroller, uitableviewdatasource { var forcefulness = [float]() var stiffness = [float] () }

springviewcontroller2

class springviewcontroller2 : uitableviewcontroller , uitableviewdelegate, uitableviewdatasource { var forceview2 = [float]() var stiffview2 = [float]() override func canbecomefirstresponder() -> bool { homecoming true } override func motionended(motion: uieventsubtype, withevent event: uievent) { if(event.subtype == uieventsubtype.motionshake){ println("shaken") self.performseguewithidentifier("reset", sender: self) } } override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject!) { if(segue.identifier == "reset") { var svcspringcontrol1 = segue.destinationviewcontroller springviewcontroller1 springnum = 0 svcspringcontrol1.force.removeall(keepcapacity: true) svcspringcontrol1.stiffness.removeall(keepcapacity: true) } } }

the code stops here, though did not placed breakpoint within code. click go on programme execution.

the code stops here.

the trick create recursive function go through view controllers stack:

func getsvc1fromvcstack(vc:uiviewcontroller) -> springviewcontroller1{ if(vc.iskindofclass(springviewcontroller1)){ homecoming vc springviewcontroller1; } else if(vc.parentviewcontroller == nil){ homecoming springviewcontroller1.alloc() } else { homecoming getsvc1fromvcstack(vc) } }

and instead of

var svcspringcontrol1 = segue.destinationviewcontroller springviewcontroller1

it should

var svcspringcontrol1 = self.getsvc1fromvcstack(self.parentviewcontroller!) springviewcontroller1

this caused unwind segue, svc1 not destination. work around reference svc1.

ios xcode swift segue

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -