ios开发沙盒存储
来源:互联网 发布:数据库中游标的用法 编辑:程序博客网 时间:2024/05/09 08:48
在我们实际开发的过程中,经常会遇到数据持久化的问题。因为一般在代码中声明的变量,在程序结束运行之后就不复存在了,或者说是重置了,这样当我们需要保持一定的状态的时候就要用到数据持久化。说到数据持久化,我们就得了解一下沙盒。
PS:虚拟机的文件路径跟手机的是不一样的哦。
(1)沙盒其实就是一个文件夹,沙盒文件夹的结构如下:
"应用程序包"DocumentsLibrary Caches Preferencestmp
1."应用程序包": 这里面存放的是应用程序的源文件,包括资源文件和可执行文件。我们可以通过如下代码查看“应用程序包”的目录。
NSString *path = [[NSBundlemainBundle]bundlePath];
2.Documents:最常用的目录,iTunes同步该应用时会同步此文件夹中的内容,适合存储重要数据。我们可以通过如下代码查看Documents的目录。
NSString *docPath =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObject ;
3.Library/Caches: iTunes不会同步此文件夹,适合存储体积大,不需要备份的非重要数据。
NSString *path =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES).firstObject;
4.Library/Preferences: iTunes同步该应用时会同步此文件夹中的内容,通常保存应用的设置信息。
5.tmp: iTunes不会同步此文件夹,系统可能在应用没运行时就删除该目录下的文件,所以此目录适合保存应用中的一些临时文件,用完就删除。
NSString *path =NSTemporaryDirectory() ;
下面展示如何向Document进行写入和读取操作,如果想对不同的文件进行操作,更换相应的路径即可。
//写入Document(NSDictionary格式)-(void) writeToDocument{ //获取Document的路径 NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject ; if(!docPath) { NSLog(@"Document目录未找到") ; } //创建一个字典,当然也可以是其他类型的数据文件 NSDictionary *dict = @{@"name":@"zxs",@"sex":@"fmale"} ; //创建dictFile.json文件 NSString *dictPath = [docPath stringByAppendingPathComponent:@"dictFile.json"] ; //向dictFile.json写入NSDictionary的文件 [dict writeToFile:dictPath atomically:YES] ;}//读取文件-(void) readFromDocument{ //获取Document的路径 NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject ; //找出刚才创建的文件的路径 NSString *dictPath = [docPath stringByAppendingPathComponent:@"dictFile.json"] ; //利用刚才创建的文件初始化字典 NSDictionary *dicts = [NSDictionary dictionaryWithContentsOfFile:dictPath] ; NSLog(@"%@",dicts) ; //取出字典中的数据 NSLog(@"姓名:%@",[dicts objectForKey:@"name"]) ; NSLog(@"性别:%@",[dicts objectForKey:@"sex"]) ;}
- ios开发沙盒存储
- iOS开发:沙盒存储类对象
- iOS开发总结之沙盒存储
- iOS开发总结之沙盒存储
- iOS沙盒存储
- ios开发 数据存储
- ios开发 数据存储
- iOS开发plist存储
- iOS开发归档存储
- iOS之沙盒存储
- iOS沙盒文件存储
- IOS开发四种常见存储 归档解归档(Archive)/偏好设置(NSUserDefaults)/沙盒存储 /SQLite3.0
- ios开发数据存储小结
- ios开发-CoreData数据存储
- iOS开发之数据存储
- iOS开发:keychain存储UUID
- IOS开发本地数据存储
- iOS开发-数据存储NSCoder
- hdu1076 An Easy Task(C语言)
- Struts2通过ActionContext解耦的方式获取WEB资源
- boost deadline_timer
- DPDK中CPU相关概念
- 深信服面试记录 2017
- ios开发沙盒存储
- 回溯算法总结
- 单线程服务器巅峰:Redis服务器原理
- poj3624
- ETL抽取工具informatica powercenter designer实例(二)
- Hibernate关系映射----单向一对多实例
- PAT1001. 害死人不偿命的(3n+1)猜想
- Web项目调用webservice服务
- CloudStack API编程指南