一、文件
二、UserDefault
三、SQLite
四、keychain
五、coredata
六、归档化
UserDefault
-
应用域(domain)
一般NSUserDefault内使用setValue:forKeyPath方法时,存储的数据存入了应用域
-
注册域
仅有较低的优先权,应用域没找到在此找
-
全局域
系统设置
-
预言域
包括地区,日期
-
参数域
有较高的优先权
1、沙盒目录结构
- Application:存放程序源文件,上架前经过数字签名,上架后不可修改
- Documents:常用目录,存储大文件或常更新的数据,能进行iCloud备份目录。这里不能存缓存文件,否则上架不被通过。
//获取目录位置
NSArray *documentDirectory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,Yes);
NSString *myDocPath = [documentDirectory objectAtIndex:0];
//documentDirectory数组里面只有一个元素,获取第一个还是最后一个都是可以取出Documents目录
- Library
- Caches:存放体积大又不需要备份的数据,应用程序的数据,可以存缓存数据,SDWebImage缓存路径就是这个
- Preference:设置数据,iCloud会备份设置信息
- tmp:存放临时文件,不会被备份,而且这个文件下的数据有可能随时被清除的可能
//获取目录位置
NSString *tmpDirectory = NSTemporaryDirectory();
2、App Bundle 里面有什么
- Info.plist:此文件包含了应用程序的配置信息.系统依赖此文件以获取应用程序的相关信息
- 可执行文件:此文件包含应用程序的入口和通过静态连接到应用程序target的代码
- 资源文件:图片,声音文件一类的
- 其他:可以嵌入定制的数据资源
网友评论