hhxx
hhxx

Reputation: 39

Unwind segue through navigation controller

This is how main storyboard is linked

I want have the back button on 'Saved Locations' to unwind segue to the 'Second View Controller', but not sure if I have to do anything different because it is embedded in navigation controller. I have linked the back button to the unwind function already in the storyboard. (ViewController is 'Saved Locations'). Currently, when clicking the back button, nothing happens.

The code below is in the SecondViewController.swift file

@IBAction func fromView(segue: UIStoryboardSegue){
    if let sourceViewController = segue.source as? ViewController{
        print("hi")
    }
}

Upvotes: 1

Views: 487

Answers (1)

Aleksandr Medvedev
Aleksandr Medvedev

Reputation: 9008

Segues work in context of the push/modal and popover segues. Your SavedLocations controller is embedded in a UINavigationViewController, but SecondViewController is not child of the same container. It's actually not very clear how you take the user to the SavedLocations from your storyboard screenshot but I'd like to propose embedding both controllers under the same navigation controller as possible. This is the the simplest and the cleanest way, as you don't even have to handle unwind seagues manually at all. "Plain" navigation is handled automatically in backward direction for you (unless you want to pop more than one controller in one go)

Upvotes: 1

Related Questions