我是Swift的新手。在tableview控制器中,我执行了segue,我认为登陆视图控制器中的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.destination
和DetailViewController
,而不是TableViewController
。
// inside TableViewController
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let destinationVC = segue.destination as? DetailViewController else { return }
print("prepare called")
}