数据本地化:

1;什么是沙盒,有哪些文件,作用

(独立:不可能两个程序共用一个沙盒。

封闭:每一个应用程序的沙盒,只有它自己才能使用.  

安全:沙盒里边每个文件夹都有自己特有的删除渠道. 只要自己手动不删除,文件永远存在)

 

沙盒中文件:(作用)

Documents:存储一些永远不想被删除的文件,在备份的时候,同时在iTunes备份,可以同步出来,不能放太大文件(太大会在iphone进行审核时,被拒掉).

Library:

里边的Caches文件:存放缓存,不会同步,一般存放体积大,不重要,不需要备份的数据.

里边Preferences:保存应用的偏好设置,iTunes会备份保存这个目录,一般不要直接创建偏好设置文件,应使用NSUserDefaults类来取得和设置应用程序的偏好.

tmp:存储临时文件夹,程序不运行时,可能删除该目录下的文件,iPhone重启时会删除该目录下文件,iTunes不会备份该目录下文件

 

获取文件夹地址的方法:

第一种;通过NSSearch收索文件夹的地址,但是不能获取tmp文件夹的地址,其他的都可以获取到.

NSString*documentPathStr=[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)objectAtIndex:0];

//NSDocumentDirectory:获取文件夹Document的地址,NSLibraryDirectory:获取文件夹Library的地址

//NSUserDomainMask:用户主目录

//第三个参数表示展开"~"的地址,设置为YES为完整路径

//NSSearchPathForDirectoriesInDomains获取的是一个数组,数组只有一个元素,所以可以直接获取objectAtIndex:0;

 

第二种;首先获取沙盒主路经的地址,然后拼接上想要的文件夹的地址.

NSString*homePathStr=NSHomeDirectory();

NSString*documentPathStr=[homePathStr stringByAppendingPathComponent:@"Documents"];

 

缓存:

        当用户对某一个URL做请求操作的时候,这个URL里面的东西会保存在主机里面的某一个位置。

        iTunes 不会备份此目录,存放缓存文件,此目录下文件不会随应用退出而删除。一般存放体积比较大,

 

2;什么是数据本地化,什么时候使用?

把数据存储在应用程序的沙盒里边.

数据本地化的方式有三种:

第一种:直接写入本地;

什么类型的对象可以直接存入本地:

NSString:[在写入本地的时候,需要做一次UTF-8的转码,在读取的时候也要做一次.]

NSData:

[NSData如何转化为UIImage:UIImage类有initWithData方法

UIImage如何转化成 NSData通过 UIImageJPEGRepresentation 方法把图形转化成 NSData]

NSDictionary:

NSSarry:

 存入本地的过程:找打要存路径,写要存内容,创建新文件,存储数据

 

第二种:sqlite;

第三种:CoreData;

第四种;NSUserDefaultes(属性列表).

(归结档不是数据本地化的方式,是数据编辑方式)

 

posted on 2016-03-24 23:32  钎探穗  阅读(170)  评论(0编辑  收藏  举报