IOS中的本地存储
来源:互联网 发布:起凡刷通宝软件 编辑:程序博客网 时间:2024/05/01 13:24
数据本地存储的本质其实就是把数据保存成文件, 存储到程序的沙盒中.
IOS中的沙盒机制是一种安全机制
沙盒的本质 其实也是文件夹
通常沙盒中包含四个文件夹Bundle, Document, Library, tmp
1.Bundle
Bundle里面存放的是 代码, 资源文件 和配置文件.
注:内容在程序运行期间为只读,不能进行任何修改.
2.Document
Document有大小限制, 一般只存放数据库
3.Library
Library 分为俩个文件夹
caches和 preference
caches 里一般存放图片缓存, 网络数据缓存
preference 里一般存放 NSUserDfault里的东西
4.tmp
临时性文件夹, 数据用完就删
数据存储也分为简单数据存储和复杂数据存储
一.简单数据存储 :NSString NSDictionary NSArray NSData
//存入数据
//首先需要知道所存储的路径,
NSArray *array = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDoMainMask, YES);
NSString *path = [array lastObject];
NSString *fielPath = [NSString stringWithFormat:@"%@/mine",path];
NSString *str = @"abc";
之后将数据存储到指定路径
[str writeToFiel:fielPath atomically:YES encoding:NSUTF8String error:nil];
//读取数据
//同样需要获得存储路径
NSArray *array = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDoMainMask, YES);
NSString *path = [array lastObject];
NSString *fielPath = [NSString stringWithFormat:@"%@/mine",path];
NSData *data = [NSData dataWithContentsOfFiel:fielPath];NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8String];
二 .复杂数据存储 :model
//存入数据
//需要先将model类的对象归档为 NSData类型的对象,然后将NSData进行存储
#import "MyModel"
MyModel *model = [[MyModel alloc] init];
NSData *data = [NSKeyedArchiver archivedDateWithRootObject:model];
NSArray *array = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDoMainMask, YES);
NSString *path = [array lastObject];
NSString *fielPath = [NSString stringWithFormat:@"%@/mine",path];
[data writeToFiel:fielPath atomically:YES encoding:NSUTF8String error:nil];//读取数据
NSArray *array = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDoMainMask, YES);
NSString *path = [array lastObject];
NSString *fielPath = [NSString stringWithFormat:@"%@/mine",path];
NSData *data = [NSData dataWithContentsOfFiel:fielPath];MyModel *model = [NSKeyedUnarchiver unarchiveObjectWithData:data];
- IOS中的本地存储
- iOS开发中的本地数据存储(持久化)
- ios本地存储篇
- ios本地数据存储
- iOS中本地存储
- iOS 存储本地
- <IOS>浅析本地存储
- Ios userDefaultes本地存储
- iOS本地存储NSUserDefaults2
- iOS 本地存储NSUserDefaults
- iOS NSUserDefaults本地存储
- iOS的本地存储
- ios本地存储数据
- iOS--本地存储加密
- iOS - 本地存储
- Html5中的本地存储
- JS中的本地存储
- ios 本地存储目录结构
- 用Jmdns的注册服务、方法的使用
- Android NDK开发起步Hello Jni 及NDK开发环境搭建
- cocos2d-x多分辨率适配方案:setDesignResolutionSize详解
- 模板:<bits/_Stack.h>
- write drain
- IOS中的本地存储
- 【Android】app开发第一步:用ViewPager和SharedPreferences类设置app的引导界面
- Windows NDK 开发调试遇到问题及解决方
- Type Qualifiers in C and C++
- jquery处理JSON对象
- UI_网络编程
- leetcode----LRU Cache
- swift中来创建一些常用控件。跟我们的第一个swift应用
- IOS开发之几个常见控件的使用