当尝试使用我的destinationViewController 执行变量赋值时,我收到错误。
错误信息是这样的:
线程 1:EXC_BREAKPOINT(代码=EXC_I386_BPT,子代码=0x0)
这在我的prepareForSegue函数中。
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if segue.identifier == "LoginSegue"{
let vc = segue.destinationViewController as LoggedInViewController
vc.email = emailTextfield.text
}
}
在另一个文件中,它看起来像这样。
var email: String?
这是在顶部。
然后这个:
override func viewDidLoad() {
super.viewDidLoad()
println("Email is:")
println(email)
println("Email was")
}
但我从来没有进入过第二个文件。
正是这一行 let vc = segue.destinationViewController as LoggedInViewController 被标记为错误。
两个 swift 文件都连接到导航控制器。
我不知道您还需要什么,但我当然会发布您需要理解的所有代码!
Thanks!
在您的情况下,目的地控制器是导航控制器而不是您的登录视图控制器 , So segue.destinationViewController as LoggedInViewController
是一个错误,因此它正在崩溃。
尝试这样
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if segue.identifier == "LoginSegue"{
let navigationController = segue.destinationViewController as UINavigationController
let vc = navigationController.topViewController as LoggedInViewController
vc.email = emailTextfield.text
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)