XML 属性列表(plist)归档;
//存储
// 获取应用沙盒路径
NSString *homePath = NSHomeDirectory();
NSLog(@"%@",homePath);
// 获取Caches文件夹路径
// directory:搜索文件夹
// domainMask:在哪个范围内搜索 NSUserDomainMask:在用户中查找
// expandTilde: YES :在路径展开 NO:不展开路径 ~:代替沙盒路径
NSString *cachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
// NSString *cachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
// 拼接文件名
NSString *filePath = [cachesPath stringByAppendingPathComponent:@"arr.plist"];
[arr writeToFile:filePath atomically:YES];
//读取
NSString *cachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
// 拼接文件名
NSString *filePath = [cachesPath stringByAppendingPathComponent:@"arr.plist"];
// 读取:以什么形式存储就以什么形式读取
NSArray *arr = [NSArray arrayWithContentsOfFile:filePath];
NSLog(@"%@",arr);
Preference(偏好设置)
//存储
// 偏好设置存储 NSUserDefaults
// 什么时候使用偏好设置存储
// 偏好设置好处,1.快速进行键值对的存储 2.不关系文件名
// 获取NSUserDefaults单例对象
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// @"123" @"num"
[defaults setObject:@"123" forKey:@"num"];
// bool,int YES isOn
[defaults setBool:YES forKey:@"isOn"];
//读取
NSString *num = [[NSUserDefaults standardUserDefaults] objectForKey:@"num"];
BOOL ison = [[NSUserDefaults standardUserDefaults] boolForKey:@"isOn"];
NSLog(@"======>%@",num);
NSLog(@"isOn value: %@" ,ison?@"YES":@"NO");
NSKeyedArchiver(归档)(NSCoding)
SQLite3
Core Data
应用沙盒
每个iOS都有自己的应用沙盒(应用沙盒就是文件系统目录),与其它文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒。
documents:保存应用运行时声称的需要持久话的数据,itunes同步设备时会备份该目录,例如,游戏应用可讲游戏存档保存在该目录,平常不会把文件保存到此文件夹。
tmp:保存应用运行时所需的临时数据,使用完毕后再将响应的文件从该目录删除。应用程序没有运行时,系统也可能会清楚该目录下的文件。itunes同步设备时不会被分该目录。
library/Caches 保存应用运行时声称的需要持久话的数据,itunes同步设备时不会被分该目录。一般存储体积大,不需要被分的非重要数据
library/Preference:保存应用的所有偏好设置,iOS 的settings(设置)应用会在该目录中查找应用的设置信息,itunes同步设备时会备份该目录