导航

iOS 结构化数据访问

Posted on 2016-07-19 11:14  耍流氓的兔兔  阅读(278)  评论(0编辑  收藏  举报

一、介绍

  在存储大量数据时,除了最基本的打开文件,读取文件,存盘等这些没有明确管理机制的方式来存储数据外,iOS还提供了另外几种重要的数据存储方式。虽然这些方式最后还是将数据存储在文件中,但是iOS以一套系统性有制度的方式来管理这些数据,让数据不再是“散乱”的存储在文件中。如此一来,我们很容易处理大量的数据,并且同时兼顾性能。最常用的有三种方式:

  1.PLIST文件

  2.SQLite数据库

  3.Core Data

二、PLIST文件

  以XML格式存储的文本文件。

  存储的数据具有“属性名称与属性值”形式。

  由于iOS沙盒机制,每个App所在目录下只有三个文件夹具备写入权限。

  若将数据写入到.plist文件,则必须在App运行后将.plist文件移动到具有写入权限的文件夹中,一般为Documents。

三、SQLite数据库

  由于Mac OS与iOS已经内置SQLite数据库引擎,因此只要在XCode项目中的Framework加入libsqlite3.dylib函数库,就可以让开发出来的App具备访问数据库的能力。

  若安装FireFox浏览器,下载SQLite Manager这个AddOn,就可以拥有一个免费且好用的图形化管理界面。

    

  操作数据库的数据几乎都是SQL Command的事,程序语言Objective-C在这里只是一个载体,目的是把SQLCommand送进数据库去运行,然后取得运行结果后输出而已。

  iOS内置数据库为SQLite可直接在终端机模式下输入sqlite3命令来启动SQLite Shell,然后通过SQL Command来完成数据库的所有管理和操作。

  在创建与数据库的连接后,最好不要经常开关数据库,这样会让系统运行的效率变得很差。

  在查询数据库中数据时,一般使用while循环,因为不知道查询的结果有多少条数据。

  如果SQLite数据库要存储图片,其字段类型为BLOB。

四、Core Data

  Apple工程师将标准的数据库进行了一些变形,隐藏了SQL Command。

  在使用Core Data访问数据库前,必须要先将实体以及实体之间的关系设计出来。

  Core Data最后存储数据的地方依然是数据库,使用的是iOS内置的SQLite。

五、链接

  http://blog.csdn.net/super_man_ww/article/details/51330464