這是蘋果官方文檔 Core Data Programming Guide 的渣翻譯。
Core Data名詞解釋
Core Data是一個用來在應用中管理模型層的框架。它提供了一系列通用和自動化的解決方案,用以處理那些和對象生命周期、對象圖有關的任務,包括持久化。
Core Data一般能夠降低原本需要用來支持模型層的50%到70%的代碼量。這主要是因為以下這些你不必手動實現(xiàn)、測試和優(yōu)化的特性:
- 除了基本的文本編輯之外,進一步提供了更新追蹤、內(nèi)置的撤銷和重做管理。
- 更新操作同步的維護,包括了維護對象之間從屬關系的一致性。
- 使用對象的懶加載、部分未來具現(xiàn)化(faulting),和寫時拷貝(copy-on-write)數(shù)據(jù)共享,用以降低資源消耗。
- 自動化屬性值驗證。托管的對象擴展了標準的KVC驗證方法,來保證設置的值是在接受范圍之內(nèi)的,能使值綁定是有效的。
- 數(shù)據(jù)庫對象集合(schema)遷移工具簡化了模式更新,允許你進行高效的就地模式遷移。
- 能夠支持用戶界面的同步的應用控制器層集成功能。
- 在內(nèi)存和用戶界面分組、過濾和組織數(shù)據(jù)。
- 自動化支持來自外部數(shù)據(jù)的存儲對象。
- 先進的查詢操作。不用編寫SQL,使用查詢請求(Fetch Request)綁定一個斷言對象(NSPredicate),你就可以創(chuàng)建復雜的查詢操作。
- 版本追蹤和樂觀鎖支持自動化解決不同的編程設備沖突問題。
- 強大的OS X和iOS平臺上的工具集合。