ios学习笔记——数据持久化

一、沙盒



沙盒目录是一种数据安全策略,很多系统都采用沙盒设计。

沙盒目录设计的原理就是只能允许自己的应用程序访问目录,而不允许其他的应用访问。

1、Documents目录:该目录用于存储非常大的文件或非常频繁更新的数据,能够进行iTunes或iCloud的备份,获取目录位置的代码如下:

1 NSString * pathArr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
2 NSString * strPath = [pathArr stringByAppendingPathComponent:@"sjz.plist"];

2、Library目录:在Library目录下面有Preferences和Caches目录,前者用于存放应用程序的设置数据,或者与Documents很相似,可以存放应用程序的数据,用来存储缓存文件。

3、tem目录:这是临时文件目录,用户可以访问它,它不能够就你行iTunes或iCloud的备份。获取目录的方法:

1 NSString * temPath = NSTemporaryDirectory();

二、数据持久化



持久化方法就是数据存储方式,iOS支持本地存储和云端存储。

1、属性列表:集合对象可以读写属性列表。

2、对象归档:对象状态可以保存到归档文件中。

3、SQLite数据库:SQLite数据库是一个开源嵌入式关系型数据库。

4、Core Data:它是一种对象关系映射技术,本质上也是通过SQLite存储的。

属性列表和对象归档一般用来存储少量数据,属性列表文件的访问要比对象归档的访问简单,集合对象都有对应的方法来读写属性雷彪文件,而对象归档书借助NSData实现的,使用起来比较麻烦。

SQLite数据库和Core Data一般用于有几个简单表关系的大量数据的情况。



ios学习笔记——数据持久化

时间: 2024-12-21 10:13:51

ios学习笔记——数据持久化的相关文章

iOS学习笔记-数据持久化

在iOS学习过程中,有时候需要保持用户数据,比如登录信息.用户的设置选项等,这时候就需要学习数据持久化操作,本节主要学习iOS数据持久化相关的知识. 数据持久化的方式有四种: 1).写入plist文件(属性列表) 2).偏好设置 3).归档(NSKeyedArchiver) 4).NSData 下面分别举例说明四种方式的适用场合以及用法. 1. 写入plist文件(属性列表) 1.1 plist可以存储哪些数据 属性列表是一种XML格式的文件,拓展名为plist 如果对象是NSString.NS

ios开发学习笔记--数据持久化之数据库(SQLite.swift)

数据持久化之SQLite数据库(SQLite.swift使用) 一.     简介 SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就足够了.它的处理速度比Mysql.PostgreSQL这两款著名的数据库都还快.SQLite提供的是一些C函数接口,你可以用这些函数操作数据库.通过使用这些接口,传递一些标准 sql 语句(以 char * 类型)给 SQLite函数,SQLite就会为你操作数据库 一个数据库中的表就算是一个文件,一般是将这个文件放

ios开发学习笔记--数据持久化之Core Data

数据持久化之CoreDate 一.     Core Data简介 Core Data是苹果公司为了实现数据持久化提供的一个框架,而不是一个数据库,提供对象-关系映射[ORM]的功能(将对象转化为数据,也能将保存在数据库的数据还原为对象). 虽然底层操作与SQLite相似,但是并不直接写SQL语句,而且只能整个取出实体记录,然后分解之后才能得到某个属性. Core Data能存储的类型:SQLite数据库.XML.二进制.自定义数据类型 一般情况下,Core Data的数据存在沙盒下的Docum

iOS 学习笔记——0005(数据存储)

先发一个练手的小demo,自己写的简略通讯录,已上传至github https://github.com/liaoshaolim/addressBook 1.NSKeyedArchiver:(归档) 这里用一个添加联系人的例子来说明: 注意:归档形式保存数据,需要该对象遵守NSCoding协议,而且对应的必须提供encodeWithCoder和initWithCoder方法 因为归档是一次性的,解压也是一次性的,所以小量的ok,如果量大的话,改一个小地方就要归档或解压全部,效率会比较低 //用一

IOS学习:ios中的数据持久化初级(文件、xml、json、sqlite、CoreData)

IOS学习:ios中的数据持久化初级(文件.xml.json.sqlite.CoreData) 分类: ios开发学习2013-05-30 10:03 2316人阅读 评论(2) 收藏 举报 iOSXMLJSONSQLiteCoreData 一.文件操作 1.因为应用是在沙盒(Sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: * Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 * tmp:存放临时文件,iTunes不会备份和恢复

iOS学习笔记之UITableViewController&UITableView

iOS学习笔记之UITableViewController&UITableView 写在前面 上个月末到现在一直都在忙实验室的事情,与导师讨论之后,发现目前在实验室完成的工作还不足以写成毕业论文,因此需要继续思考新的算法.这是一件挺痛苦的事情,特别是在很难找到与自己研究方向相关的文献的时候.也许网格序列水印这个课题本身的研究意义就是有待考证的.尽管如此,还是要努力的思考下去.由于实验室的原因,iOS的学习进度明显受到影响,加之整理文档本身是一件耗费时间和精力的事情,因此才这么久没有写笔记了. M

IOS学习笔记 -- Modal和Quartz2D

一. Modal1.Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止;Modal只是改变了View的现实,没有改变rootViewController 2.常用方法1>.以Modal的形式展示控制器- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion2>.关

iOS学习笔记(1)— UIView 渲染和内容管理

iOS学习笔记(1)— UIView 渲染和内容管理 iOS中应用程序基本上都是基于MVC模式开发的.UIView就是模型-视图-控制器中的视图,在iOS终端上看到的.摸到的都是UIView. UIView在屏幕上定义了一个矩形区域和管理区域内容的接口.在运行时,一个视图对象控制该区域的渲染:UIView继承自UIResponder,UIResponder是用来响应事件的类,UIView也具有响应事件的能力.所以说UIView具有三个基本的功能,绘制内容并管理内容的布局,响应用户交互,动画.正是

iOS学习笔记-精华整理

iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始等待用户的操作,自动释放池就会被释放掉(调用dealloc),池中的对象都会收到一个release,有可能会因此被销毁. 2-成员属性:     readonly:不指定readonly,默认合成getter和setter方法.外界毫不关心的成员,则不要设置任何属性,这样封装能增加代码的独立性和安全