iOS系列之数据持久化

275 阅读1分钟

iOS数据持久化方案:

NSUserDefault:

NSUseDefaults *default = [NSUserDefaults standardUserDefaults];

[default setObject:@"你好" forKey:@"say"];

[default objectForKey:@"say"];

属性列表(plist文件):

使用xml格式,存储在沙盒中。

沙盒的目录结构:

document:

将所有的应用程序数据文件写入到这个目录下。这个目录用于存储用户数据。该路径可通过配置实现iTunes共享文件。可被iTunes备份。

NSString *documents = [NSSearchPathForDirectoriesInDomain(NSDocumentDirectory,NSUserDomainMask,YES) lastObject];

library:

     preference:

应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.

     cache:

存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。

NSString *cacheDirectory = [NSSearchPathForDirectoriesInDomain(NSCacheDirectory,NSUserDomainMask,YES) lastObject];

tmp:

这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。该路径下的文件不会被iTunes备份。

NSString *tmpDirectory = NSTemporaryDirectory();

程序包:

archiver(归档)

序列化和反序列化

NSKeyArchiver

NSKeyUnArchiver

要进行归档的对象必须遵守NSCoding协议,同时应实现编码和解码的方法。

coredata

使用内置的sqllite数据库,提供一种将对象模型转化为关系模型的映射功能。

sqllite本地数据库