我有登录和注销功能:

private func signUpAction() {
let appDelegateTemp = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegateTemp.window!.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController() as! RootViewController
}

private func logOutAction() {
let appDelegateTemp = UIApplication.sharedApplication().delegate as! AppDelegate

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("loginViewController") as! LoginViewController
let navigationController = UINavigationController(rootViewController: vc)

appDelegateTemp.window?.rootViewController = navigationController
}

问题如下:当我注销并立即登录时,它将导致SIGABRT异常发生。经过研究后,我发现问题出在IBOutlets中,后者似乎不再拥有所有者。
有什么办法可以解决此问题?

最佳答案

转到情节提要,然后用两根手指单击情节提要编辑器左侧导航栏中的所有ViewController。将会出现一个不透明的深色弹出窗口,其中包含该ViewController的所有出口和操作。如果其中任何一个带有黄色感叹号,请单击x按钮将其删除(如果需要,显然可以重新连接它们)。对所有视图控制器执行此操作。希望对您有所帮助,如有其他问题,请与我联系。这个问题让我困扰了一阵子,所以我感到非常沮丧;)

关于ios - SIGABRT异常由于IBOutlets而发生,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38225975/

10-11 14:54