一.属性列表, 可以通过NSArray, NSDictionary等等的writeToFile 方法写入一个plist 文件中, 持久保持属性

沙盒中的文件夹:  1.Documents : 存储长久保存的数据

               2.Library :

存放缓存文件, 比如视频, 音频, 图片, 小说等等

存储偏好设置, 比如: 应用程序是否是第一次运行, 保存用户名和密码,

存储临时文件, 比如下载的包, 解压后直接删除

数据持久化方式:

最简单) NSUserDefaults; 只适合存储少量数据, 比如账号, 密码;

读写文件, 只支持八种数据, NSString; NSArray, NSDictionary ,二进制 --- NSData 以及各自的可变子类

VIP

        对于数组, 字典大容器deng, 想要实现文件读写, 必须要保证文件中的元素也必须是 数组, 字符串, 字典, 二进制数据等数据类型之一;

二.归档, 通过 Archive 对象对数据你进行归档处理, 其过程比较傲复杂, 归档后文件文 .Archive 文件, 是一个二进制二年间, 无法查看, 需要用NSUnArchive 解档操作才能查看

//获取路径的方法

- (NSString *)getFilePath {

//获取documents 文件加路径

NSStringNSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

//拼接存储文件的路径

NSStringstringByAppendingPathComponent:@"zhang.txt"];

return filePath;

}

//1.创建归档工具对象

NSMutableDataNSMutableDatadata];

NSKeyedArchiverNSKeyedArchiveralloc]initForWritingWithMutableData:myData];

//2.开始归档

encodeObject:contact forKey:@"tao"];

//3.结束归档

finishEncoding];

//4.内存释放

//5.data 写入文件

writeToFile:[selfgetFilePath] atomically:YES];

//反归档

//1.从本地读数据

NSDataNSDatadataWithContentsOfFile:[selfgetFilePath]];

//2.创建反归档工具

NSKeyedUnarchiverNSKeyedUnarchiveralloc]initForReadingWithData:data];

//3.开展反归档

ContactdecodeObjectForKey:@"tao"];

//4.反归档结束

finishDecoding];

//释放

三.利用sqlite, 建议不直接操作SQLite库,而是采用一些第三方库操作数据库. 例如 fmdb

四.CoreData对数据进行持久化保存, 本质上是使用SQLite保存数据,但是它不需要编写任何SQL语句。