iOS 之持久化存储 plist、NSUserDefaults、NSKeyedArchiver、数据库
1.什么是持久化?
本人找了好多文章都没有找到满意的答案,最后是从孙卫琴写的《精通Hibernate:Java对象持久化技术详解》中,看到如下的解释,感觉还是比较完整的。摘抄如下:
狭义的理解: “持久化”仅仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作。
● 保存:把域对象永久保存到数据库。
● 更新:更新数据库中域对象的状态。
● 删除:从数据库中删除一个域对象。
● 加载:根据特定的OID,把一个域对象从数据库加载到内存。
● 查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载内在存中。
2.为什么要持久化?
持久化技术封装了数据访问细节,为大部分业务逻辑提供面向对象的API。
● 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度;
● 代码重用性高,能够完成大部分数据库操作;
● 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。
文件
归档(NSKeyedArchiver)
属性列表(NSUserDefaults)
数据库(SQLite、CoreData、第三方类库)
转载于:https://www.cnblogs.com/henusyj-1314/p/9928572.html
iOS 之持久化存储 plist、NSUserDefaults、NSKeyedArchiver、数据库相关推荐
- 【iOS数据持久化】Plist使用
iOS数据持久化Plist使用 iOS 端数据持久化就是把数据保存在本地,常用于基本信息储存,应用配置,应用支持数据源,网络请求缓存等.主要有如下几种方式: 方式 介绍 特点 Plist文件 属性列表 ...
- (三十九)数据的持久化存储-plist实现(XML属性表)
iOS应用数据存储的常用方式: 归档:用某种格式保存数据. XML属性列表(plist)归档(持久化) Preference 偏好设置 NSKeyedArchiver归档 SQLite3 数据库 效率 ...
- iOS中持久化存储SQLite(一)
在iOS中做持久化存储有多种方案,其中包括plist, preference, sqlite, core data,其中: (1)plist, preference适合小型数据存储,因为每次存储前都必 ...
- iOS开发 数据存储之NSUserDefaults
NSUserDefaults:用来保存应用程序设置和属性.用户保存的数据.用户再次打开程序或开机后这些数据仍然存在.NSUserDefaults可以存储的数据类型包括:NSData.NSString. ...
- 爬虫数据持久化存储——写入文件
这里写目录标题 爬虫数据持久化存储--写入文件 open方法 文件的读取及写入 爬虫数据持久化存储--csv文件 爬虫数据处理:操作数据库模块--pymysql pymysql介绍: pymysql安 ...
- iOS的四种持久化存储
什么是数据持久化存储? 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据. 什么是沙盒机制? iOS程序默认情况下只能访问程序自己的目录,这个目录被称为&qu ...
- iOS开发笔记(十七):持久化方案之 NSUserDefaults
对于应用来说,每个用户都有自己的独特偏好设置,而好的应用会让用户根据喜好选择合适的使用方式,把这些偏好记录在应用包的 plist 文件中,通过 NSUserDefaults 类来访问,这是 NSUse ...
- Linux实战教学笔记45:NoSQL数据库之redis持久化存储(一)
第1章 redis存储系统 1.1 redis概述 REmote DIctionary Server(Redis)是一个基于key-value键值对的持久化数据库存储系统.redis和大名鼎鼎的Mem ...
- 无星的RN学习之旅(四)——通信、持久化存储、iOS打包
说说最近项目的一些感想吧. 一.RN的创意 RN其实我觉得是一个很有创意的想法.不知道各位写RN项目的时候,有没有打开Xcode看过app的层级关系,我发现RN的这个想法,真的很有创意. 作为一名原生 ...
最新文章
- uni-app h5页面左上角出现“取消“字眼解决办法
- python 语音websocket_Python 牺牲性能以提升程序员的工作效率
- Android后门GhostCtrl,完美控制设备任意权限并窃取用户数据
- 如何在Linux中查看所有正在运行的进程
- C语言,期末复习之编写程序返回三个整数中的中间数
- LCD1602液晶显示
- CPU 架构 —— ARM 架构
- 会说话的狗狗本电脑版_一看就会用!Fotor 电脑版 图片后期处理详解系列教程 第一节...
- 数据库备份与还原的过程中介质集有2个介质簇,但只提供了1个。必须提供所有成员...
- 《信号与线性系统分析》学习心得
- 深圳哪个区最富,哪个区最穷?最新GDP排名出炉,没想到第二名是
- 几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。本次上机要求编写一个简化的创建游戏角色的程序。
- android菜鸡提升之路---实现一个积木拼图游戏
- 玄铁杯第二届RISC-V应用创新大赛火热报名中
- ADNI数据集-数据分析11.17
- 物联网开发笔记(48)- 使用Micropython开发ESP32开发板之控制OLED ssd1306屏幕
- Mac 硬件驱动(.kext)安装方法
- mysql导入txt_mysql怎么导入txt文件?
- AES256-GCM-NOPADDING加密解密(java)
- 去噪算法 matlab,经典滤波算法去噪对比实验(Matlab实现)