I am working on an app in Swift 4 and I am trying to unwind a segue. I have a Table View Controller, When the user selects a cell, the segue happens to a navigation controller which has a relationship root view controller with another controller I have UIViewController
. In the UIViewController
I have a UIButton
inside Navigation Items, I have unwind set with the UIButton by selecting the button and dragging to exit and I have the unwind code inside the UITableViewController
like so:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segueRSVP" {
}
}
@IBAction override func unwind(for unwindSegue: UIStoryboardSegue, towardsViewController subsequentVC: UIViewController) {
print("Here")
}
But nothing happens, it doesn't even get triggered.
Here are my screenshots:
Add this unwind to your RSVP controller:
@IBAction func unwindToThisViewController(segue: UIStoryboardSegue) {
print("IM BACK")
}
Then control + drag the button in your detail controller up to the exit and select the method: unwindToThisViewController
Just tested this on xcode swift 4 and it should work
I'm not sure why, but when I "overrode" unwind, it didn't work for me either, so I set up my own ibaction
In my case, was tagging the swift unwind func with @objc
keyword.
@objc func unwindToThisViewController(segue: UIStoryboardSegue) { ... }
Hope this works.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.