iOS / Swift App委托代码没有先运行

时间:2015-01-21 19:38:16

标签: ios swift appdelegate

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

另外,我有一个println(1)在应用程序中没有运行:didFinishLaunchingWithOptions:方法加载tableView并且应用程序崩溃。

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

1 个答案:

答案 0 :(得分:1)

application:didFinishLaunchingWithOptions:首先被调用。好像你在默认情况下保存字典,然后很快就会尝试阅读它们。如果您阅读NSUserDefaults的文档,则无法保证在设置对象时已保存默认值,以提高效率。您应该调用defaults.synchronize()以确保在设置字典后保存它们,如果您打算在设置字典时依赖它们进行保存。