iOS中数据持久化的几种方式
1.plist(属性归档)
2.Preference(偏好设置)
3.NSKeyedArchiver归档(NSCoding)
4.SQLite3
5.CoreData
应用沙盒
- 什么是应用沙盒?
- 应用沙盒相当于一个应用的文件夹,每个应用程序都已一个自己独立于其他文件系统的应用沙盒。应用必须待在自己的沙盒里,其他应用不能访问
沙盒结构
沙盒结构解析
1.Documents:保存运行时候需要持久化保存的数据,会备份(如游戏的存档)
2.tmp:保存临时数据,并且不备份,随时删除
3.library/cache:保存需要持久化保存的数据,不会备份,一般是体积较大的非重要数据(如视频文件)
4.Library/preference:保存用户偏好设置,iOS的setting应用会再该目录下查找设置信息(偏好设置)
获取沙盒路径
- 1.获取document路径
//1.document
NSString *documentPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject;
当设置后面一个参数为yes的时候
- 2.Libaray/cache
//2.Library/cache
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject;
- 3.Libaray/perference
//3.Library/
NSString *preferencePath = NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES).lastObject;
- 4.tmp
NSString *tempPath = NSTemporaryDirectory();
- 路径示例如图