swift - segue to next ViewController and pass data if condition is valid -
i trying segue first viewcontroller second 1 , pass value of var dateandtime = nsdate() second view controller.
my first approach segue first viewcontroller second one, define name of segue in attributes inspector. next, link button @ibaction func nextbuttontofifthviewcontroller in first viewcontroller, use if else statement , prepareforsegue, code not compile because not allowed override prepareforsegue.
@ibaction func nextbuttontofifthviewcontroller(sender: anyobject) { if timerestricted.contains(hourcomponents){ self.label.text = "please choose time betwen 7:00 - 19:00" } else { override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) { var destviewcontroller:fifthviewcontroller = segue.destinationviewcontroller as! fifthviewcontroller destviewcontroller.dateandtimeselected = dateandtime } } my second approach use performseguewithidentifier, wont able pass data next view controller because dateandtimeselected not available use in first view controller.
@ibaction func nextbuttontofifthviewcontroller(sender: anyobject) { if timerestricted.contains(hourcomponents){ self.label.text = "please choose time betwen 7:00 - 19:00" } else { performseguewithidentifier("tofifthviewcontroller", sender: self) dateandtimeselected = dateandtime }
note performseguewithidentifier , prepareforsegue methods should used together. first call performseguewithidentifier when sure need move new view controller, may configure new view controller in prepareforsegue
@ibaction func nextbuttontofifthviewcontroller(sender: anyobject) { if timerestricted.contains(hourcomponents){ self.label.text = "please choose time betwen 7:00 - 19:00" } else { performseguewithidentifier("tofifthviewcontroller", sender: self) } } override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) { if segue.identifier == "tofifthviewcontroller" { if let destviewcontroller = segue.destinationviewcontroller as? fifthviewcontroller { destviewcontroller.dateandtimeselected = dateandtime } } }
Comments
Post a Comment