数据持久化

来源:互联网 发布:java获取svn文件列表 编辑:程序博客网 时间:2024/06/07 07:40
 一.应用程序沙盒1.应用程序沙盒基本概念(1)每个iOS应用都有自己独立封闭的一套文件系统,这个系统就称为应用程序沙盒(App Sandbox) 
(2)iOS应用只能在自己的沙盒内部读写文件,基本不可以去其他地方访问文件.所有需要使用的资源文件都需要保存在沙盒内部,如图片,声音,文本等. 
(3)iOS应用所请求的数据都要进行权限检测,如果不符合条件的话该请求将不会被执行. 
(4)沙盒是一种安全体系,其核心内容就是对iOS应用的操作进行权限控制2.为什么要使用沙盒(1)防止你的应用被其他应用恶意访问/更改或删除 
(2)防止其他应用访问你应用当中的个人数据 
(3)应用数据清理十分方便,不会在其他地方遗留痕迹3.沙盒文件体系(1)MyApp.app存放应用程序束(App Bundle)的文件夹.应用程序束中存放有App的可执行代码文件以及其相关资源. 
应用在安装的时候会给该文件夹进行数字签名,在每次应用启动前进行签名认证.如果对该文件夹进行了修改,那么也会将数字签名破坏,导致应用不能启动. 
这个文件夹的内容在进行iTunes同步的时候只会备份一次,除非该应用发生版本变更或者被移除.(2)Documents①作用
Documents文件夹用来存储非常大的文件或需要非常频繁更新的数据,但是基于NSUserDefaults的首选项存储数据并不会保存在其中.
能够进行iTunes或者iCloud备份.
②获取NSArray*documentDirectory = NSSearchPathForDirectionsInDomains(NSDocumentDirectory,NSUserDomainMask,YES);//因为documentDirectory数组只有一个元素,所以取第一个或者最后一个都是一样的NSString*myDocPath1 = [documentDirectory firstObject];//或NSString*myDocPath2 = [documentDirectory lastObject];
1
2
3
4
5
6
1
2
3
4
5
6
(3)Library①作用
Library文件夹用来存储系统文件.可以在该文件夹中创建新的子文件夹来存储数据.
Library目录下有Preferences和Caches目录.
其中Preferences用来存放应用程序的设置数据,比如NSUserDefaults相关数据就是存储在~/Library/Preferences文件夹中.
Caches与Documents相似,可以存放应用程序的数据,用来存储数据库缓存文件/缓存内容(新闻,地图数据等).要注意的是,该文件夹并不会被备份.
(4)tmp①作用
tmp文件夹用来存储临时数据,应用应当及时删除该文件夹中的数据来释放空间 
如果应用没有运行,并且系统内存不够,那么iOS会自动移除该文件夹内的文件来释放空间
iTunes或iCloud不会备份该文件夹内的文件
②获取NSString *tmpDirectory=NSTemporaryDirectory();

何海军15520737235 2016/10/24 19:06:21

NSArray *documentDirectory = NSSearchPathForDirectionsInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

//因为documentDirectory数组只有一个元素,所以取第一个或者最后一个都是一样的
NSString *myDocPath1 = [documentDirectory firstObject];
//或
NSString *myDocPath2 = [documentDirectory lastObject];
0 0
原创粉丝点击