应用程序构建成功,调试区域没有错误,但立即停止并将我带到此处;
我不知道该怎么做错误。我只能在AppDelegate.swift中猜测它,在DidFinishLanchingWithOptions的某个地方。
有谁知道如何解决这个错误?
抱歉,不够聪明,不能弄清楚这对你们这个微不足道的错误
更新:
我已尝试过下面用户mstysf的建议,但同样的问题出现了吗?我做错了还是错过了什么?
func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
if let navigationController = self.window?.rootViewController as? UINavigationController {
let challengesController = navigationController.topViewController as ChallengesViewController
unarchiveDataSource()
if let dataSource = challengeDataSource {
challengesController.challengeDataSource = dataSource
} else {
loadDefaultChallenges()
challengesController.challengeDataSource = challengeDataSource
}
}
return true
}
有谁知道出了什么问题?再次感谢,任何帮助表示赞赏。
答案 0 :(得分:0)
这意味着navigationController
是nil
。你应该像这样处理它:
if let navigationController = self.window?.rootViewController as? UINavigationController {
// do your work here
}
它构建成功,因为编译器信任您navigationController
不会nil
并且不会检查它。这是隐式展开的可选类型的重点。在运行时,如果它是nil
,那么您的应用程序崩溃了。这是隐含的无包装选择权的危险。