iOS数据存储的方式总结
iOS沙盒目录下有四个文件夹。分别是:
-AppName.app:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。
-Library:这个目录下有两个子目录:Caches 和 Preferences
Preferences:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
Caches:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
1.NSUserDefaults
2.对象归档
3.数据库存储(SQLite)
4.Core Data
NSUserDefaults支持的数据格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型。
NSCoding 协议方法
-(id)initWithCoder:(NSCoder *)aDecoder;
当模型遵循 NSCoding 协议时,归档对象就很简单,只要调用下列方法中的一个:
[NSKeyedArchiver archiveRootObject:objectForArchiving toFile:archiveFilePath];
[NSKeyedArchiver archivedDataWithRootObject:objectForArchiving];
第一个方法在 archiveFilePath 指定的路径下创建一个归档文件。
第二个方法则返回一个 NSData 对象。NSData 通常更快,因为没有文件访问开销,但对象保存在应用的内存中,如果不定期检查的话会很快用完内存。
NSKeyedUnarchiver 类用于从文件(或者 NSData 指针)反归档模型。
[NSKeyedUnarchiver unarchiveObjectWithFile:archiveFilePath];
这 4 个方法在转化序列化数据时能派上用场。
使用任何 NSKeyedArchiver/NSKeyedUnarchiver 的前提是模型实现了 NSCoding 协议。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。