码迷,mamicode.com
首页 > 其他好文 > 详细

UISenior_数据处理--------文件读写--------

时间:2016-05-03 22:13:50      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

 

                                        数据存储之沙盒路径

 

  第一种打开应用程序沙盒路径的方式

技术分享

第一个参数(NSDocumentDirectory)是:枚举值,枚举你具体要查找的文件夹【要进入哪个文件夹直接修改其枚举值即可】   这里的NSDocumentDirectory作用代表进入Documents文件夹,如想进入其它文件夹可对其进行修改 可查看其枚举值的类型  如:进入Caches文件夹  第一个参数改为NSCachesDirectory

第二个参数:NSUserDomainMask表示用户的主目录

第三个参数:一般设置为YES表示展示完整的路径

NSSearchPathForDirectoriesInDomains查找沙盒路径的,返回值是一个数组,这个数组里边只有一个元素,这个元素就是路径,直接使用下标取出即可,此处的下标取为0即可

 

 

  第二种打开应用程序沙盒路径的方式

第一步:找到主目录文件夹

技术分享

 

第二步:然后拼接自己想进入的文件夹名称

技术分享

stringByAppendingPathComponent进入文件夹是通过住目录找到Library文件夹再找到其中的Caches文件

技术分享

stringByAppendingString进入文件夹是通过住目录找到Library文件夹再找到其中的Caches文件       *(此处注意:Library前必须有/ )--系统寻找路径时此方法不会自动生成/,需自行添加

  特殊的文件夹的查找方式

技术分享

 

 

检验路径是否存在的方法可通过打印获得对应路径字符串,赋值此字符串通过以下方式查找

1.先找到Finder图标 此图中左上角的笑脸图标  2.点开后点击上方菜单栏中的前往按钮   会出现一个前往文件夹图标 (也可用对应的快捷键来打开) 

技术分享

3.打开后会出现一个输入框  将复制的路径粘贴其中 就可找到对应文件

技术分享

 

 

 

 

 

                                       简单对象的本地持久化

 

NSString类型的数据存储到本地(此处只拿NSString进行举例 NSArray和NSDictionary类型基本相似不再举例)

技术分享

 

 

  将NSData类型的数据存储到本地(以图片为例)

初始化image

技术分享

这种必须拼接图片的全名称,否则image的路径为空

技术分享

 

使用initWithContentsOfFile初始化图片的时候,每次都会根据路径去读取,不会占用内存,如果图片在当前工程中只使用一次,应该选择这个方法

 

(另一个初始化方法使用imageNamed:第一次读取的时候,先把这个图片放到缓存里,下次再使用到这个同名图片的时候直接从缓存中读取;优点:方便快捷,只有第一次使用的时候稍慢,接下来再使用就会稍微快点;缺点:如果在当前工程中只使用一次会浪费内存)

 

技术分享

image类型的对象转换成NSData类型的数据进行存储

使用UIImageJPEGRepresentation将图片转换成NSData类型的

第一个参数(image):要转换的image对象

第二个参数(1):表示图片压缩的值,此时为1表示原比例不变

iPhone中将大于2M的图片,会自动旋转90度,所以最终会将图片保存成jpeg格式的

技术分享

 

 

 

                                复杂对象的本地化

首先创建NSObject类的文件命名为Person

Person.h文件里声明属性  *(<NSCoding>  此协议写在NSObject后)

技术分享

在Person.m文件里进行编写如下

 

在Controller控制器里先导入#import "Person.h"

 

 

   归档

技术分享

 

   解档

技术分享

 

直接写入本地:数据是整存整取的

 

 

 

UISenior_数据处理--------文件读写--------

标签:

原文地址:http://www.cnblogs.com/xzbk/p/5456514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!