2012-10-23 39 views
0

我最近实现了一个将大量数组,布尔值和整数保存为用户默认值的系统。现在,我目前在我的界面上使用三个按钮来测试功能,它可以正常工作,但是我遇到了试图自动化保存系统的问题。在应用程序加载时保存为用户默认值

本质上,我希望应用程序保存数据,当它终止或当它被推到背景。然后它只在应用程序完全重新启动时加载数据。

我已经使用了如下因素的appdelegate委托方法来运行我创建,保存方法和负载的尝试:

didFinishLaunchingWithOptions: 
applicationWillTerminate: 

但他们似乎没有工作,我知道我将需要输入用于保存应用程序被推回时的前台方法,但目前没有任何工作。该应用似乎崩溃或无法保存和加载数据。

任何帮助,将不胜感激。

+0

请记住,当你发布这个问题时,至少要添加一个像'iphone'或'objective c'或'ios'这样的标签,这样所有人都可以得到你的问题。 .. :) – Krunal

回答

0

我想你应该保存在defaults

- (void)applicationDidEnterBackground:(UIApplication *)application方法。

并且,用于再次访问defaults,取数据在

- (void)applicationWillEnterForeground:(UIApplication *)application

- (void)applicationDidBecomeActive:(UIApplication *)application 方法。

+0

我试过这个,并得到一些奇怪的结果。当应用程序最小化时,该应用程序似乎会保存数据,但如果手动退出应用程序(完全停止应用程序进程)并重新加载,则无法加载数据,其次如果退出应用程序,则无法保存数据。我会做一些适当的检查,所以我可以分解发生了什么并发布我的代码,但是有什么最初的想法? – SmokersCough

+0

通过按主页按钮退出时,Userdefaults是否保存了数据?如果是的话,那么当你进入应用程序时,会调用'applicationDidBecomeActive'和'didFinishLaunchingWithOptions'。你可以从那里得到默认值数据... 退出时放上'NSLog',这样你就可以知道它是否保存了默认值或不... – Krunal

+0

谢谢,工作正常,编码时我一定是半睡着了我在不正确的应用程序委托方法下调用了方法。 – SmokersCough

相关问题