解决类似微博缓存内容不要再次加载,而浪费流量
储存数据的方式
plist 只能存储系统自带的一些类型,自定义对象无法存入
preference(偏好设置\NSUserDefaults)也同样无法存储自定义的对象
NSCoding归档可以存储自定义对象
(NSKeyedArchiver\NSKeyedUnarchiver)无论是读入还是读出,都是一次性的读入读出,不够灵活SQLite3 比较灵活且轻型且跨平台
Core Data 是苹果对于SQLite3的面向对象的包装
SQLite
什么是SQLite
SQLite是一种轻型的嵌入式数据库
占用的资源低,只需要几百k的内存就够了
比Mysql处理速度更快
什么是数据库
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
数据库可以分为两大种类(关系型数据库,对象型数据库)
常用关系型数据库
PC端:Oracle(银行多用)、Mysql(免费)、SQL Server、Access、DB2、Sybase
嵌入式\移动客户端:SQLite
如何存储数据
数据库是如何存储数据
数据库的存储结构和excel很像,以表(table)为单位
数据库存储数据的步骤
创建一个数据库文件
新建一个表(table)
添加多个字段(column,列,属性)
添加多行记录(row,每行存放多个字段记录的值)
主键约束(Primary Key 简称PK)
- 良好的数据库编程规范应该要保证每条记录的唯一性,为此,增加了主键约束,也就是说每张表都必须又一个主键,用来标识记录的唯一性。相当于人的身份证。不要修改主键,选择自增长。
主键的设计原则
- 主键应当是对用户没有什么意义的
- 永远也不要更新主键
- 主键不应包含动态变化的数据
- 主键应当由计算机自动生成
SQL语句
SQL语句的特点
不区分大小写
每条语句都必须以分号;结尾
数据库中不可以使用关键字来命名
SQL语句的种类
数据定义语句(DDL:Data Definition Language)包括在数据库中创建新表或删除表(create table 或drop table)
数据操作语句(DML:Data Manipulation Language)包括insert、update、delete等操作
数据查询语句(DQL:Data Query Language)可以用于查询获得表中的数据,关键字select是用的最多的操作
在X-code中使用SQLite
- 先把SQLite3框架引入X-code中
- 数据库其实就是一个文件
在删除框架时,是删除引用第二项,而不是丢到垃圾桶