I'm trying to perform a push segue
from a navigation controller
, after dismissing a modal
that was previously presented over the navigation controller
.
Inside modal (UIViewController
):
func textFieldShouldReturn(textField: UITextField) -> Bool {
var searchNav = SearchNavigationController()
self.dismissViewControllerAnimated(true, completion: {searchNav.goToNextView()})
return true
}
Inside SearchNavigationController
:
func goToNextView() {
performSegueWithIdentifier("searchNavigationToNextView", sender: self)
}
The issue is that when I hit return, I get this error:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver () has no segue with identifier 'searchNavigationToNextView''
The segue is present in my storyboard
, going from the UINavigationController
to the next view
.
EDIT: tried this, where _sender is declared in SingleSearchViewcontroller as var _sender = self and it did not work.
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "searchNavigationToSingleSearch" {
let singleVC = segue.destinationViewController as! SingleSearchViewController
singleVC._sender = self
}
}