iOS终端数据持久化

来源:互联网 发布:网络作家跳舞 编辑:程序博客网 时间:2024/05/18 03:50

iOS有很多数据持久化技术,包括传统的数据库,但也有一些较新的技术,它主要的持久化技术有:数据库、属性列表、对象归档和。本节将分别介绍这四种持久化方式,辅助本文在设计与实现中针对不同的需求选择合适的数据持久化方式。

1、Lite数据库技术

数据库技术被广泛的使用在各大系统中,数据库也是一个系统的核心部分,数据库管理系统如今发展已经很成熟,主要有:SQLite、Oracle、Mysql等。数据库技术的使用也是每个程序应该掌握的,它能让系统实现对数据的持久化等操作。

iOS支持对数据库的访问,系统中已经内置了一个数据库,既SQLite嵌入式数据库,是关系数据库管理系统,它被包含在一个轻量级别的语言库中,也是一个开源项目。它支持大多数的标准,包括事务,既原子性、一致性、隔离线和持久性,还支持触发器和多数的复杂查询,意味着SQL语言在SQLite上也可使用,实现对数据的持久化,实现数据的CRUD(Create增加、Retrieve读取、Update更新、Delete删除)操作。

2、iOS属性列表

iOS中属性列表是后缀为plist一种存储数据的文件,plist文件是一种常见的应用程序设置和首选项的保存策略,也是终端数据持久化的一种方式。它的使用非常方便,在Xcode中可以直接打开和编辑plist文件,可以用plist文件存储任意文本、数值,甚至是序列化对象。序列化对象是能够转换为字节流得OC对象,包括:NSMutableArray、NSArray、NSDictionary、NSMutableDictionary、NSData 等[3]。值得注意的是,在使用plist持久化应用数据时,序列化对象必须是刚才所指定的OC类,简单类型、结构、自定义类和非文中未提及的OC类是不能被序列化到plist文件中。

3、对象归档

iOS对象归档是Cocoa中有另一种对象序列化(编码/反编码)技术,正如上文所述,plist能序列化的类有限,自定义对象和自定义数据类型此时是无法序列化到plist文件中。但使用归档技术则可以将任何类型对象写入文件,从实现数据的持久化,对象只需对应文档对象实现NSCoding协议即可,NSCoding协议通过方法来对对象进行编码,用方法来实现解码,两方法的参数均NSCoder对象。

4、Core Data

Core Data是iOS提供的可视化模型数据设计工具,它将数据库细节和难看的SQL语句屏蔽了,让开发者用操作OC对象的方式来操作数据库对象,实际上数据最终还是被放到特定的SQLite数据库文件中,以此来实现数据的持久化,开发者可以在应用程序的“沙盒”目录中找到这个数据库文件。同时,开发者可以通过Core Data框架提供的API方便的进行数据库操作,极大地简化了编程,Core Data使用一种类型ORM(Object Relational Mapping,对象关系映射)的技术,将关系数据库中的表和数据封装为对象和属性,表与表之间的关系此时被封装为对象间包含与被包含的关系。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 扫描仪打不开运单扫描怎么办 打印机不支持64位系统怎么办 xp系统dnf闪退怎么办 w10电脑所有程序都打不开怎么办 安卓手机太卡怎么办 系统装到f盘了怎么办 虚拟机占c盘内存怎么办 外机连无线虚拟机显示受限怎么办 使用msdn下载解压后怎么办 路由80端口被占用怎么办 c盘拒绝粘贴文件怎么办 oracle数据库密码忘了怎么办 电脑开机时不显示用户名怎么办? xp系统忘记开机密码怎么办 电脑开机密码忘了怎么办 c盘满了怎么办win10 win10电脑开机密码忘了怎么办 win10的开机密码忘了怎么办 u盘中了exe病毒怎么办 眼睛长个麦粒豆怎么办 苹果手机sdk授权失败怎么办 小米5王者荣耀卡怎么办 华为p9手机电池不耐用怎么办 华为g9青春版耗电快怎么办 华为手机摄像头坏了怎么办 华为p10摄像头玻璃划痕怎么办? 华为g9手机音量小怎么办 华为7pius太卡怎么办 华为畅享7plus卡怎么办 华为p9屏幕进水变颜色怎么办? 玩王者荣耀卡退怎么办 华为手机忘记开机密码怎么办 华为p9密码忘了怎么办 华为p9解锁密码忘了怎么办 华为手机不支持联通4g怎么办 酷派手机自动下载软件怎么办 小米5a不能开机怎么办 华为手机的视频找不到了怎么办 华为p8内存文件打不开怎么办 华为荣耀9网速慢怎么办 荣耀9手机网速慢怎么办