解決類似微博緩存內容不要再次加載,而浪費流量
儲存數據的方式
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中
- 數據庫其實就是一個文件
在刪除框架時,是刪除引用第二項,而不是丟到垃圾桶