murga108
murga108

Reputation: 53

Swift popToRoot not working

www.dropbox.com/s/jrzrst5qtfq6op2/Screenshot%202015-03-20%2022.27.42.png?dl=0

This highlighted line is where should popToRoot proceed, after a successful registration it should redirect to Root View Controller. For some reason it's not working for me, literally nothing happens, not even error.

I tried with

self.navigationController?.popToRootViewControllerAnimated(true)

Upvotes: 4

Views: 1451

Answers (1)

Rob
Rob

Reputation: 437672

You don't appear to be using navigation controller at all, so I'd wager that self.navigationController is nil.

You could use an unwind segue. So in your root view controller, add a method like so:

@IBAction func unwindToRoot(segue: UIStoryboardSegue) {
    print("successfully unwound")
}

Then in your scoreboard scene from which you want to unwind, you can control-drag from the button to the "exit outlet":

enter image description here

When you let go, you can pick the unwind action:

enter image description here

This achieves the "pop to root" sort of functionality, but is not contingent upon using navigation controller.


If you want to perform this unwind programmatically, rather than doing the segue from the button to the exit outlet, do it from the view controller icon to the exit outlet:

enter image description here

Then, select the segue in the document outline and give this segue a unique storyboard id:

enter image description here

Then you can programmatically perform the segue, using the same identifier string:

performSegueWithIdentifier("UnwindToRoot", sender: self)

Upvotes: 3

Related Questions