1、在Mac上显示和取消隐藏文件夹的命令:------>便于开发
1>defaults write com.apple.finder AppleShowAllFiles YES
2>defaults write com.apple.finder AppleShowAllFiles NO
2、获取沙盒Documents全路径的快捷方法
NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask,YES)[0]
3.数据存取
0>.应用沙盒
1.Documents 保存应用运行时生成的需要持久化的数据,iTunes同步设备时,会备份该目录。
2.tmp 保存应用运行时所需的临时数据,使用完毕时再将相应的数据删除,不会同步
3.Library/Caches 保存应用运行时生成的需要持久化的数据,iTunes同步设备时,不会备份该目录。一般存储体积大,不需要备份的非重要数据
4.Library/Preference 保存应用的所有偏好设置,ios的Setting应用会在该目录中查找应用的设置信息。iTunes同步时,会备份该目录。
总结:体积大 tmp(里面的内容可能会被系统随机删除) library/caches iTunes不会备份
体积小 Documents library/Preference iTunes会备份
1>XML属性(Plist)归档一般都是先写在读的
0.使用NSHomeDirectory()这个函数获取项目的沙盒路径
1.在ViewdidLoad方法中读取文件
2.在按钮监听事件中写入文件 写文件调用文件的[dict writeToFile:filePath atomically:YES];
2>.Preference(偏好设置)
一般都是先存在读的
0.NSUserDefaults *user = [NSUserDefaults standardUserDefaults]; //初始化用户默认设置
1.初始化后,掉这个方法,设置值 [user setObject:_qq.text forKey:@"qq"];
2.马上进行存储(马上进行同步)[user synchronize];
3. 在viewdidload方法中,读数据
1>初始化用户默认设置
2>调这个方法取值 [user objectForKey:@"qq"];
3>归档和解析 NSKeyedArchiver归档返回的是一个数组, 1>归档返回的是个BOOL类型的,默认就是YES 这个kFilePath指的是Documents的全路径 [NSKeyedArchiver archiveRootObject:_dataArray toFile:kFilePath]; 2>解析 _dataArray = [NSKeyedUnarchiver unarchiveObjectWithFile:kFilePath]; 3>将模型对象存入沙盒的方法 模型必须实现这两个方法 #pragma mark 当从文件中解析对象时调用 // 在这个方法说清楚: // 1.哪些属性需要解析(读取) // 2.怎样解析(读取)这些属性 - (id)initWithCoder:(NSCoder *)deCoder { if (self = [super init]) { _name = [deCoder decodeObjectForKey:@"name"]; _phone = [deCoder decodeObjectForKey:@"phone"]; } return self; } #pragma mark 将对象归档的时候会调用(将对象写入文件之前会调用) // 在这个方法说清楚: // 1.哪些属性需要存储 // 2.怎样存储这些属性 - (void)encodeWithCoder:(NSCoder *)enCoder { [enCoder encodeObject:_name forKey:@"name"]; [enCoder encodeObject:_phone forKey:@"phone"]; }