簡(jiǎn)介
第一眼看到Core Data 令人生畏的復(fù)雜架構(gòu)關(guān)系,很多人都會(huì)有無(wú)從下手的感覺
可是,一旦理解了架構(gòu)圖中各個(gè)部件的組成及相互之間的關(guān)系偷遗,就能體會(huì)到Core Data API 的簡(jiǎn)
潔和直觀了
Core Data stack(技術(shù)堆棧):如果能夠理解Core Data stack 中的各個(gè)成員所扮演的角色,那么再
使用Core Data 就不會(huì)感覺到困難了
1.1-什么是CoreData Stack?
Core Data stack 是Core Data 的核心囤屹,由一組Core Data 核心對(duì)象組成
NSManagedObjectContext 對(duì)象管理上下文: 負(fù)責(zé)管理模型的對(duì)象的集合
NSManagedObjectModel 被管理的對(duì)象模型: 負(fù)責(zé)管理對(duì)象模型
NSPersistentStoreCoordinator 存儲(chǔ)調(diào)度器: 負(fù)責(zé)將數(shù)據(jù)保存到磁盤的
1.2-CoreData Stack中的對(duì)象是如何協(xié)調(diào)工作的呢?
· 三者之間的關(guān)系示意圖
官方
分為兩部分
1.對(duì)象圖管理
2.數(shù)據(jù)持久化
?? 在這兩部分的中間逢渔,即堆棧中間肋坚,是持久化存儲(chǔ)協(xié)調(diào)器(Persistent Store Coordinator, PSC)。通過它將對(duì)象圖管理部分和持久化部分綁在一起肃廓。當(dāng)這兩部分中的一部分需要和另一部分交互智厌,將通過PSC 來(lái)調(diào)節(jié)
上圖表示,一個(gè)工程可以有多個(gè)管理模型的Context盲赊,一個(gè)存儲(chǔ)調(diào)度器可以調(diào)度多個(gè)存儲(chǔ)器铣鹏,不過在一般的開發(fā)中,我們只需要一個(gè)Contect和一個(gè)存儲(chǔ)器就足夠了