Plist(NSArray/NSDictionary):
- 支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型,底层是基于key-value的NSDictionary。
- 项目中预置的plist文件只能读取不支持修改、删除;
- 运行期创建的plist文件支持读取、新写入、修改、删除等操作,写入时必须是完整的dic,不支持增量写入方式。
读取项目中预置plist文件:
|
|
运行期创建的plist文件读取数据:
|
|
运行期创建新plist并写入数据:
|
|
运行期创建的plist修改、删除数据:
|
|
NSUserDefault:
支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型,如果要存放自定义的对象(如自定义的类对象),则必须将其转换成NSData存储。
|
|
NSCoding:
可存储自定义对象,局限:一次性做读取和存储操作,不可局部增量操作
- entity实现NSCoding协议:
|
|
- entity实现类重写encodeWithCoder、initWithCoder函数
实现序列化和反序列化。
|
|
- 保存对象到NSUserDefaults:
|
|
Coredata:
Coredata是对sqlite数据库ORM实现。