码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 数据持久化4种方式

时间:2015-08-05 00:30:25      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

iOS 4种讲数据持久存储到iOS文件的系统机制:

  1. 属性列表(NSUserDefaults、plist文件)
  2. 对象归档(NSCoding)
  3. iOS嵌入式关系数据库(SQLite3)
  4. 苹果提供的持久化工具(Core Data)

 

说道数据持久化都涉及到一个共同的要素。既然是把数据持久存储到iOS文件系统中,那么久涉及到了应用沙盒。

可以尝试使用Xcode建立一个空的应用,然后打开应用目录可以查看到有以下文件

1、Documents

①存放内容
我们可以将应用程序的数据文件保存在该目录下。不过这些数据类型仅限于不可再生的数据,可再生的数据文件应该存放在Library/Cache目录下。
②是否会被iTunes同步

2、Documents/Inbox

①存放内容
该目录用来保存由外部应用请求当前应用程序打开的文件。
比如我们的应用叫A,向系统注册了几种可打开的文件格式,B应用有一个A支持的格式的文件F,并且申请调用A打开F。由于F当前是在B应用的沙盒中,我们知道,沙盒机制是不允许A访问B沙盒中的文件,因此苹果的解决方案是讲F拷贝一份到A应用的Documents/Inbox目录下,再让A打开F。
②是否会被iTunes同步

3、Library

①存放内容
苹果建议用来存放默认设置或其它状态信息。
②是否会被iTunes同步
是,但是要除了Caches子目录外

4、Library/Caches

①存放内容
主要是缓存文件,用户使用过程中缓存都可以保存在这个目录中。前面说过,Documents目录用于保存不可再生的文件,那么这个目录就用于保存那些可再生的文件,比如网络请求的数据。鉴于此,应用程序通常还需要负责删除这些文件。
②是否会被iTunes同步
否。

5、Library/Preferences

①存放内容
应用程序的偏好设置文件。我们使用NSUserDefaults写的设置数据都会保存到该目录下的一个plist文件中,这就是所谓的写道plist中!
②是否会被iTunes同步

6、tmp

①存放内容
各种临时文件,保存应用再次启动时不需要的文件。而且,当应用不再需要这些文件时应该主动将其删除,因为该目录下的东西随时有可能被系统清理掉,目前已知的一种可能清理的原因是系统磁盘存储空间不足的时候。
②是否会被iTunes同步
    //沙盒目录
    NSHomeDirectory();
    
    //tmp文件路径
    NSTemporaryDirectory();
    
    //Document
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];

 

 

 

iOS 数据持久化4种方式

标签:

原文地址:http://www.cnblogs.com/Zerone-Lee/p/4703324.html

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