我正在编写一个iPhone应用程序,需要保存我的应用程序状态(5K左右).
我主要担心的是数据在升级过程中持续存在.我使用的一些应用程序显然错了,我宁愿不这样做!
为了保存状态,NSUserDefaults是要走的路.我相信大多数(如果不是全部)应用程序数据实例在升级后被删除是由于AppStore上的问题.它们可能与数据格式更改有关,但如果您只使用NSUserDefaults和标准的plist-storable对象(NSString,NSDictionary,NSNumber,NSArray,NSNumber和基元),那么您应该是安全的.
有一种简单的方法可以做到这一点来节省:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:@"TextToSave" forKey:@"keyToFindText"];
载入:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; NSString *textToLoad = [prefs stringForKey:@"keyToFindText"];
重要的是你不要存储非常大的值NSUserDefaults
.如果你这样做,苹果审查有可能遇到麻烦.
通常,用户默认值用于存储短键和首选项,例如用户音量级别,他们想要使用游戏中心或发送崩溃日志.
这取决于你正在做什么和你的需求.
如果是少量数据,NSUserDefaults是一个很好的方法.您还可以将字典或数组保存到应用程序文档文件夹,然后在启动时重新加载该文件.
SQLite很不错,但除非你有很多你要查询的数据,否则它只是保存状态的顶部.