在我的主 ViewController 中,我有这个:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
println("VIEW CONTROLLER DID APPEAR")
var currentUser = PFUser.currentUser()
println(currentUser)
if (!currentUser) {
self.presentLogInController()
} else {
println("VALID USER")
}
}
当我运行该应用程序时,这一行会引发错误:
if (!currentUser) {
说 EXC_BAD_INSTRUCTION
但是,输出窗口显示:
VIEW CONTROLLER DID APPEAR
<PFUser:TzzzzzzaHx:(null)> {
email = "blah@blah.bla";
username = mmm;
}
VALID USER
鉴于代码执行超出了 XCode 所说的导致 EXC_BAD_INSTRUCTION 的行,它看起来不像是严重错误,尽管它会导致模拟器和真实设备崩溃。
关于如何调试它有什么建议吗?
找到解决方案
if let user = PFUser.currentUser() {
println("VALID USER")
println(user)
println(user["email"])
println(user["completedTour"])
if !user["completedTour"] {
println("NO TOUR YET")
}
} else {
self.presentLogInController()
}
最佳答案
if (!currentUser)
... currentUser
是 Bool
吗?不见得。你不能像在 Objective-C 中那样在 if 语句中使用非 bool 表达式
假设 PFUser.currentUser()
返回一个隐式解包的可选值,您需要检查是否为 nil。
if currentUser != nil { ... }
关于ios - swift iOS : EXC_BAD_INSTRUCTION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174027/