I am new to iOS development. There are many duplicate questions (Sorry). But I could not solve this problem.
prepareForSegue is not called after the executeSegueWithIdentifier function is called.
The show segue identifier is called "segue1". Ctrl-Drag from ViewController to DetailViewController.
Did I miss something?
ViewController.swift:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func buttonTapped(sender: AnyObject) {
print("ViewController - buttonTapped()")
performSegueWithIdentifier("segue1", sender: self)
}
override func performSegueWithIdentifier(identifier: String, sender: AnyObject?) {
print("ViewController - performSegueWithIdentifier(): \(identifier)")
}
override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool {
print("ViewController - shouldPerformSegueWithIdentifier()")
return true
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
print("ViewController - prepareForSegue(): \(segue.identifier!)")
}
}
DetailViewController.swift:
class DetailViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("DetailViewController - viewDidLoad()")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Here is a screenshot of the storyboard .
Exit (after pressing the button)
ViewController - buttonTapped()
ViewController - performSegueWithIdentifier(): segue1
source
share