我需要将一个文件中的变量值传递给另一个文件。
我尝试了此代码,但是它不起作用,在目标数据上它的值是nil
:
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var destView: OtpVC = segue.destinationViewController as! OtpVC
destView.dataPassed = "\(mobile)"
}
OtpVC
是目标ViewController,而mobile是我要传输到OtpVC
View的变量。提前致谢。
最佳答案
您在某处做错了。
如果您以编程方式推送/显示下一个OtpVC
,则不会调用prepareForSegue
,因此destView.dataPassed
将为nil
。 prepareForSegue
仅在您在情节提要中定义视图控制器过渡或在代码中调用performSegue
进行过渡时才有效。
例如,推:
if let navigationController = self.navigationController {
let nextScreen = OtpVC()
nextScreen.dataPassed = "\(mobile)"
navigation.pushViewController(nextScreen)
}
或呈现:
let nextScreen = OtpVC()
nextScreen.dataPassed = "\(mobile)"
self.presentViewController(nextScreen, animated: true, completion: nil)
关于ios - 文件之间的快速传递数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30176288/