(一)Core Data 基礎(chǔ) —— Apple 官方提供的數(shù)據(jù)持久化方案介紹
概覽
Core Data 是一個(gè)蘋果官方推出的框架,用于持久化數(shù)據(jù),還可以配合 CloudKit 方便的將數(shù)據(jù)在多個(gè)設(shè)備之間同步。
使用 Core Data 持久化保存數(shù)據(jù),可供離線使用,用作緩存,還可為 App 提供“撤銷重做”功能等。如果要在登錄了同一個(gè) iCloud 賬戶的多臺(tái)設(shè)備之間同步數(shù)據(jù),Core Data 可自動(dòng)的同步你的數(shù)據(jù)模型(Schema)到 CloudKit 容器。
通過 Core Data 的數(shù)據(jù)模型(Data Model)編輯器,可以定義數(shù)據(jù)的類型和關(guān)系,生成各自的類定義。Core Data 會(huì)在運(yùn)行時(shí)管理數(shù)據(jù)對(duì)象實(shí)例并提供以下的功能。
數(shù)據(jù)持久化
Core Data 把數(shù)據(jù)對(duì)象映射的細(xì)節(jié)抽離出來保存到一個(gè)空間,讓開發(fā)者無需直接操作數(shù)據(jù)庫(kù)也可用 Swift 和 Objective-C 來保存數(shù)據(jù)。

實(shí)現(xiàn)單次或批量的撤銷和重做
Core Data 的撤銷管理器(undo manager)跟蹤數(shù)據(jù)的變化,可以實(shí)現(xiàn)單次或批量的撤銷和重做。Core Data 讓開發(fā)者更方便地在 App 內(nèi)實(shí)現(xiàn)撤銷和重做功能。

后臺(tái)數(shù)據(jù)處理任務(wù)
在后臺(tái)下載數(shù)據(jù)(例如 JSON)并轉(zhuǎn)換成對(duì)象后,通過 Core Data 保存下來可有效減少服務(wù)器的請(qǐng)求次數(shù)。

讓界面與數(shù)據(jù)保持一致
Core Data 也能幫助開發(fā)者為 TableView 和 Collection View 提供數(shù)據(jù)源,從而讓界面與數(shù)據(jù)保持一致。
版本管理與遷移
Core Data 提供應(yīng)對(duì) App 迭代產(chǎn)生的數(shù)據(jù)模型版本變化和用戶數(shù)據(jù)遷移的管理機(jī)制。