Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Segue Destination Call ViewDid何时出现?_Ios_Xcode9_Lldb - Fatal编程技术网

Ios Segue Destination Call ViewDid何时出现?

Ios Segue Destination Call ViewDid何时出现?,ios,xcode9,lldb,Ios,Xcode9,Lldb,尝试在lldb中调试时,似乎只是简单地分配segue.destination就触发了ViewDidDisplay出现在目标视图控制器中。在传递文件夹之前,目标中的ViewDid出现致命错误。我知道任何初始值设定项代码都必须运行(确实如此——根据lldb e命令正确初始化了几个字段)。在prepareForSegue完成之前调用ViewDidDisplay是没有意义的 我在strategyPicker.folder分配和NSLog上有断点,在目标视图中出现错误之前,两个触发器都没有 有什么建议吗?

尝试在lldb中调试时,似乎只是简单地分配segue.destination就触发了ViewDidDisplay出现在目标视图控制器中。在传递文件夹之前,目标中的ViewDid出现致命错误。我知道任何初始值设定项代码都必须运行(确实如此——根据lldb e命令正确初始化了几个字段)。在prepareForSegue完成之前调用ViewDidDisplay是没有意义的

我在strategyPicker.folder分配和NSLog上有断点,在目标视图中出现错误之前,两个触发器都没有


有什么建议吗?

viewDidLoad
/
viewwillbeen
/
viewdidbeen
在调用
prepare(for:sender:)
之前不调用

您显示的函数没有被调用,因为它没有正确的方法签名。你想要

    func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let strategyPicker=segue.destination as! StrategyViewController
    strategyPicker.folder=self.folder
    NSLog("Tried to pass \(self.folder) into \(String(describing: strategyPicker.folder))")
}

此外,由于您在目标视图控制器中提到了崩溃,因此很可能是在那里强制展开
文件夹
;您可能应该重新思考这一点,并编写防御代码。如果
文件夹
nil
viewdiload
/
视图将出现
/
视图显示
在调用
准备(for:sender:)
之前未调用,则有条件地展开并显示相应的错误消息

您显示的函数没有被调用,因为它没有正确的方法签名。你想要

    func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let strategyPicker=segue.destination as! StrategyViewController
    strategyPicker.folder=self.folder
    NSLog("Tried to pass \(self.folder) into \(String(describing: strategyPicker.folder))")
}

此外,由于您在目标视图控制器中提到了崩溃,因此很可能是在那里强制展开
文件夹
;您可能应该重新思考这一点,并编写防御代码。如果
文件夹

我的道歉,则有条件地展开并显示相应的错误消息!代码是用Swift 2编写的,通过Swift 3被忽略,并手动(错误地)转换为Swift 4。我道歉!代码是用Swift 2编写的,通过Swift 3被忽略,并手动(错误地)转换为Swift 4。