2012-08-14 106 views
0

我知道我的问题的标题没有任何意义。所以发生了什么是我运行我的应用程序一次。我将当前日期存储在'NSUserDefaults'中。我关闭了应用程序。然后第二天(通过更改系统中的日期)我在模拟器中打开了应用程序,再次执行了相同的操作。主要存储在'NSUserDefaults'中的当前日期也被更新为今天的值。关闭并重新打开应用程序

相反,如果我通过Xcode再次运行应用程序。它按预期返回值。我只是想知道这两个操作之间的区别。一次又一次运行应用程序会使应用程序正常工作。但是运行一次并重新打开并再次使用并不会发生。为什么是这样!!

+0

您能更具体地了解您正在执行的两项操作吗? – ashokbabuy 2012-08-14 11:03:18

回答

4

您可能错过了您正在操作的操作位于您的AppDelegate-application:didFinishLaunchingWithOptions方法中的观点。这个方法在你的应用程序启动时被调用。然后,如果按下主页按钮并重新打开该应用程序,则该方法不会被调用,因为该应用程序处于非活动状态,但调用方法 - applicationWillEnterForeground。如果你杀了应用程序(或者操作系统杀死它)并再次打开它,-application:didFinishLaunchingWithOptions将再次被调用。

+0

因此,当应用程序启动时,“-applicationWillEnterForeground”将不会被调用。是吗? – Nina 2012-08-14 16:13:36

+0

当它第一次启动时,调用'-application:didFinishLaunchingWithOptions-',当重新开始时调用'applicationWillEnterForeground'。只需放置断点和调试..您还可以阅读有关应用程序生命周期的文档... – graver 2012-08-14 17:58:20

+0

是的..这是正确的! :-) 谢谢!! :-) – Nina 2012-08-16 05:37:19

相关问题