Swift为什么prepare函数不能正常工作



我是Swift的新手。在tableview控制器中,我执行了segue,我认为登陆视图控制器中的prepare会被调用。
// tableview controller
AF.request(url, headers: headers).responseDecodable(of: ProductEach.self) { response in
self.activityIndicator.stopAnimating()
if response.value!.error_message == "invalid product id" {
print("invalid product id")
} else {
// 
// do bunch of things with the data I got before performing a segue
// 
self.performSegue(withIdentifier: "GotoDetail", sender: self)
}
}
// landing viewcontroller
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let destinationVC = segue.destination as? TableViewController else { return }
print("prepare called")
}

我在调试控制台中看不到名为的准备。谁能告诉我我犯的错是什么?

提前谢谢你。

你的prepare方法是相反的。它应该在"from"不("to")视图控制器,即TableViewController,而不是DetailViewController。而且,你应该比较segue.destinationDetailViewController,而不是TableViewController

// inside TableViewController
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let destinationVC = segue.destination as? DetailViewController else { return }
print("prepare called")
}

最新更新