iOS/Swift 应用程序委托代码不是 运行 第一

iOS/Swift App delegate code not being run first

在我的应用程序:didFinishLaunchingWithOptions: 方法中,我设置了一些非可选词典并将它们保存为标准用户默认值。但是,加载 tableview 时字典不可用,我的应用程序崩溃了。

此外,我有一个 println(1) 在应用程序中没有得到 运行:didFinishLaunchingWithOptions: 加载 tableView 和应用程序崩溃之前的方法。

我只是想知道应用程序:didFinishLaunchingWithOptions: 相对于第一个视图何时初始化的时间 运行。

application: didFinishLaunchingWithOptions: 首先被调用。好像您将词典保存为默认值,然后很快就尝试阅读它们。如果您阅读 NSUserDefaults 的文档,则不能保证在您设置对象时保存默认值,以提高效率。如果您打算依靠它们在设置时立即保存,则应调用 defaults.synchronize() 以确保它们在您设置字典后保存。