基础篇---本地存储
来源:互联网 发布:硕鼠for mac 编辑:程序博客网 时间:2024/04/29 14:32
沙盒由四种文件构成:
1. Bundle: 里面存储代码, 资源文件, 配置文件
特性: (1) 其内容在程序运行期间为只读
(2) 在开发期间可以修改
2. Document :
特性: (1) 大小的限制
(2) 数据库
(3) 从应用程序安装到结束存储在此
3. Library: Caches(缓存), Preference(配置)
Caches特性: (1) 图片缓存
(2) 网络数据存储
Preference: NSUserDefault
4. tmp (临时行文件夹):
特性: 数据用完就删
数据存储:
简单数据 : NSString, NSDictionary, NSArray, NSData
复杂数据 :系统提供之外的类型(也就是model类)
步骤:
1. 获取路径, 但此时只能找到文件夹
NSArray *array = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde);
2. 因为不能够确定path中有几个对象, 所以要么firstObject, 要么lastObject
NSString *path = [array firstObject];
3. 将路径进行拼接
path = [NSString stringWithFormat:@"%@/a", path];
4. 将路径写入文件中
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error;
NSString *str = [NSString stringWithContentsOfURL:(NSURL *) encoding:(NSStringEncoding) error:(NSError **)];
eg: 转化成NSData类型NSData *data = [NSData dataWithContentsOfFile:(NSString *)];
复杂类型对象的存储
将model类型的对象归档(序列化)为NSData类型的对象,然后将NSData类型对象存储
如果model在数组中,想要存储数组, 也必须用复杂类型对象将数组转换成data,然后进行存储
如果在归档的时候是数组, 那么反归档得到的也是数组
- 基础篇---本地存储
- ios本地存储篇
- [Unity基础]Unity本地存储--Sqlite数据库
- H5基础(6)-HTML5本地存储和本地数据库
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- 本地存储
- UI_网络编程
- leetcode----LRU Cache
- swift中来创建一些常用控件。跟我们的第一个swift应用
- IOS开发之几个常见控件的使用
- svn代码回滚命令
- 基础篇---本地存储
- 个人官网第7次升级:全文搜索闪亮登场
- poj 1887解题报告
- Java基本功练习十四(字符串和文本IO【文件读写数据、字符串生成器、String类方法、相关技巧】)
- iOS存储与解析网址
- 2014年12月23号 中兴通讯南京研发中心实习生面试
- 【AC自动机+数位DP】【zoj 3494】BCD Code
- 多线程之GCD
- IOS的内存管理