I have been using this code to perform a custom segue when a user logs in to the application:
dispatch_async(dispatch_get_main_queue()){
self.performSegueWithIdentifier("showSTPS", sender: self)
}
I currently have this code in my perpareForSegue (im not totally sure if i need it)
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){
if "showSTPS" == segue.identifier {
}
}
And I am getting the following error every time I try to perform the segue:
2015-08-31 11:56:28.998 ICEFLO[3858:651041] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not perform segue with identifier 'showSTPS'. A segue must either have a performHandler or it must override -perform.'
Any suggestions on what to do would be greatly appreciated - please note that this is for swift2/ios9
-Yogi
The first step is to find the “Storyboard Reference” item in our library and add it to the storyboard we want to segue from. You'll also want to add the Storyboard name and View Controller's Storyboard ID that you want to segue to in the Attributes Inspector of the Storyboard Reference.
Segue identifiers are plain strings. They are useful if we need to invoke the segue programmatically because they identify the segue. But in general, identifiers are used to pass information from one view controller to another.
Well, in addition to that, Ctrl+dragging also helps set up segues. So, Ctrl+Drag from the “Go to Other View Controller” button, to somewhere in the second View Controller. It can be anywhere in the main box of the second view controller. When you release, it will show you a box like the one below.
Make sure that in your storyboard the segue type is not set to custom. If you set it to custom you'll need to provide your own custom segue class.
Swift version:
class CustomSegue: UIStoryboardSegue {
override func perform() {
let src = self.sourceViewController
let dst = self.destinationViewController
src.navigationController?.pushViewController(dst, animated: true)
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With