2012-01-31 47 views
0

我试图将数据保存到Plist,并且我认为最好的地方应该是在委托.m“applicationWillTerminate”中,因为Apple在那里谨慎地发表评论“如果合适的话保存数据”。iOS/iPhone应用程序是保存数据的最佳位置吗?

但是,当我使用iPhone Simulator进行测试时,这个方法似乎永远不会被调用。我的NSLog语句永远不会运行。

所以,这是退出应用程序时保存数据的最佳位置,如果是这样,你知道它为什么永远不会被调用吗?

回答

4

由于iOS 4应用程序可以输入“背景”而不是终止,因此可能不会调用applicationWillTerminate:。您也可以使用applicationDidEnterBackground:。您可以创建一个方法来保存数据并在两个委托方法中调用它。

+0

谢谢 - 我只是跑了一个测试,它似乎总是去“applicationDidEnterBackground”。那么什么时候应用程序实际退出? – wayneh 2012-01-31 23:08:35

+0

当用户在底部栏中关闭它时(通过双击主页按钮或使用正确配置的iPad上的4个手指向上滑动显示)。您可以按住图标直到出现红色的“ - ”。 – sidyll 2012-01-31 23:10:16

+0

虽然这是特定的几代 - 我的iPod 2G不这样做。我刚刚在设备上运行我的应用程序,之后立即调用“applicationDidEnterBackground”和“applicationWillTerminate”。所以,只要数据发生变化,去BG可能是最好的,或者像凯勒说的那样。谢谢。 – wayneh 2012-01-31 23:13:24

1

或者你可以保存你的Plist,当它改变,这样你总是知道数据是最新的。

相关问题