几种方式:
- NSUserDefaults
- KeyChain
- Sqlite Database
- CoreData
- Saving Files
NSUserDefaults
官方文档:NSUserDefaults
- 运行时数据有缓存,定期与数据库同步
- 支持数据类型:NSData, NSString, NSNumber, NSDate, NSArray, or NSDictionary
- 线程安全
SampleCodes
NSUserDefaults* udt = [NSUserDefaults standardUserDefaults];
//write
[udt setObject:@"jim" forKey:@"name"];
[udt synchronize];
//read
NSString* nameValue = [udt stringForKey:@"name"];
NSLog(@"NameValue: %@", nameValue);
数据保存在Library/Preferences/*.plist
中,可以做简单数据结构的存储,比如一些配置项。
KeyChain
可以用来保存安全敏感的数据,比如用户名密码。
Sqlite Database
对于iOS平台开发来说,CoreData更加适用。如果你要做跨平台应用,那么Sqlite是不错的选择。
CoreData
一个相对复杂的framework,与cocoa高度集成。看起来较多数据的持久化还是需要这个模块,apple没有重新造轮子。
Saving Files
沙盒机制下,文件保存限于:Documents、Library(有些文件可能会被删除)、tmp
使用NSData的接口可以方便的读写。