如果我是正确的:EXC_BAD_INSTRUCTION意味着应用程序崩溃,因为某些东西不存在。但是我得到的错误Swift Firebase。线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)
(Google上搜寻它,并试图让我的头一轮之后):
Thread 1:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
当我试图和加载另一个视图。
这就是应用程序崩溃的功能:
func loginUserNeedsEmailVerification() {
let next = self.storyboard?.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController
next.isUserLoggedInButNeedsEmail = true
self.present(next, animated: true, completion: nil)
}
我调用这个函数。从另外一个功能,像这样:
perform(#selector(loginUserNeedsEmailVerification), with: nil, afterDelay: 0)
即使该文件存在,我改变了!至?像这样:
let next = self.storyboard?.instantiateViewController(withIdentifier: "LoginViewController") as? LoginViewController
next?.isUserLoggedInButNeedsEmail = true
self.present(next?, animated: true, completion: nil)
然后另一个错误在最后一行抛出:
Value of optional type is not unwrapped.
当我点击小修复它。它改变了代码这样:
self.present((next?)!, animated: true, completion: nil)
但随后,类似的错误也是如此:
optional chain has no effect
我在做什么错误,以及如何解决这个问题?
你是否在任何类中声明了带有数据库引用的全局变量? – Dravidian
@Dravidian我不确定与呈现视图控制器有什么关系?是的,我有标准的FIRDatabase.database()。reference() – JamesG
@JamesG这次崩溃与Firebase无关。检查'storyboard'属性是否为'nil'或'instantiateViewController'方法返回的'UIViewController'实例为'nil' –