应用程序关闭后如何保存变量?

时间:2011-07-12 21:45:25

标签: iphone xcode variables save application-shutdown

我希望在应用程序关闭后保存一些整数,并在应用程序打开后恢复它们,最简单的方法是什么?

6 个答案:

答案 0 :(得分:16)

您应该存储和加载来自NSUserDefaults的数据:

http://developer.apple.com/library/IOS/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// to store
[defaults setObject:[NSNumber numberWithInt:12345] forKey:@"myKey"];
[defaults synchronize];

// to load
NSNumber *aNumber = [defaults objectForKey:@"myKey"];
NSInteger anInt = [aNumber intValue];

答案 1 :(得分:5)

查看NSUserDefaults documentation。您可以在那里设置任意键值对(只要您在应用程序终止之前的某个时刻调用共享用户默认对象的-synchronize)将在启动之间保持不变。

答案 2 :(得分:4)

您可以将它们保存在NSUserDefaults中。这主要用于偏好。

[[NSUserDefaults standardUserDefaults] setObject:someInteger forKey:@"someIntegerKey"];
[[NSUserDefaults standardUserDefaults] synchronize];

如果您想要存储更多数据,也可以将它们保存到属性列表文件中。

NSDictionary *someDictionary = [NSDictionary dictionaryWithObjectsAndKeys:someInt1, @"someIntKey1", someInt2, @"someIntKey2", nil];

[someDictionary writeToFile:somePath error:&error];

要在退出应用时保存

中的任何代码
- (void)applicationWillTerminate:(UIApplication *)application

答案 3 :(得分:3)

了解使用NSUserDefaults。这类似于可以添加键/值对的字典。您可以将变量保存在app delegate的applicationWillTerminate和applicationDidEnterBackground方法中。您可以在applicationDidFinishLoading中再次加载变量。

答案 4 :(得分:1)

最简单的方法是使用NSUserDefaults。当应用程序即将关闭时,您的应用程序代理将收到-applicationWillTerminate:消息,您可以将数据写入NSUserDefaults(如果数据量很大,则将其写入您自己的文件中)。然后,当您的应用再次启动时,您的应用代表将获得-applicationDidFinishLaunching,您可以再次阅读您的数据。

答案 5 :(得分:-2)

将它们序列化并将它们存储在内存中。您必须在关闭之前执行此操作并在重新打开应用程序时加载

相关问题