VC演示程序未初始化为segue IOS swift做准备



你好,我遇到了这个问题,因为prepare for segue函数工作不正常。我有代码。你能告诉我如何调试它吗?因为它有可选条件。我如何删除它们并检查问题所在或我做错了什么,因为我只想在应用程序导航到其他屏幕之前,在目标vc中初始化一个类。

@IBAction func filterBtnPressed(_ sender: Any) {

self.performSegue(withIdentifier: "FilterSessionVC", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "FilterSessionVC", let navigation = segue.destination as? UINavigationController, let vc = navigation.topViewController as? FilterSessionVC {
vc.presenter = FilterSessionPresenterImplementation()
}
}

基本调试。。。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

let identifier = segue.identifier
print("identifier:", identifier)

let dest = segue.destination
print("destination:", dest)

if let navigation = dest as? UINavigationController {
print("dest IS a UINavigationController")

if let vc = navigation.topViewController as? FilterSessionVC {
print("Top Controller IS a FilterSessionVC")
// here you can proceed
vc.presenter = FilterSessionPresenterImplementation()
} else {
print("Top Controller IS NOT a FilterSessionVC")
}

} else {
print("dest IS NOT a UINavigationController")
}

}

在第一行设置一个断点,然后遍历并检查结果。

最新更新