iOS系统的沙盒机制
2018-08-17 本文已影响157人
zhouluyao
iOS应用数据常见的存储方式:
1、XML属性列表(plist)归档
2、Preference(偏好设置)
3、NSKeyedArchiver归档(NSCoding)
4、SQLite3
5、CoreData
应用沙盒:
每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他应用的文件系统目录隔离,其他应用不能访问该应用的沙盒,保证数据安全
应用的沙盒包括哪些部分:
1.应用程序包:
包含了应用的资源文件和可执行文件
2、Document:
保存应用运行时生成的需要长期保存的数据,iTunes同步设备时会备份该目录,比如一些游戏应用的存档数据
//把数组、字典的数据存在Document文件夹下
//获取沙盒下的Document目录
NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSArray *array=@[@"zhou",@"27"];
NSString *filePath =[path stringByAppendingPathComponent:@"array.plist"];
//保存
[array writeToFile:filePath atomically:YES];
//读取
NSArray *readArray =[NSArray arrayWithContentsOfFile:filePath];
NSLog(@"%@",readArray);
3、Library/Preference:
保存应用的所有偏好设置,iOS的setting应用会在该目录下查找应用的设置信息,ITunes会同步备份该目录,NSUserDefault就会放在这个目录里面
4、tmp:
保存应用运行时所需的临时数据,使用完毕再将相应的文件删除或者应用没在运行时系统会删除该目录下的文件
5、Library/Caches:
一般存储体积大,不重要,不需要备份的数据,比如从网络下载的视频