核心資料入門
Core Data 是 Apple 各種 OS SDK 中的一個框架,包括但不限於 iOS 和 OS X.它有兩個主要角色:模型層和持久層。模型層用於管理模型物件和持久化資料。你只需在物件導向的介面中儲存和管理資料即可。主要功能包括過濾,查詢,排序,持久化資料以及在資料之間建立關係。Core Data 專案感興趣的其他主題是 NSPredicate,執行緒等。
Core Data 的示例應用程式可以是本地庫的目錄應用程式。在目錄應用程式中,圖書管理員可以新增或刪除書籍。他們還可以按流派過濾書籍,按出版日期排序書籍,或搜尋特定作者的作品。實體 Book
將具有各種屬性,例如標題,作者,釋出日期,isbn,電話號碼等。包括上述示例的核心資料還可以儲存從伺服器收集的資料。
該框架的主要組成部分包括:
- 資料模型(實體,屬性和關係)
- 核心資料堆疊(NSPersistentStoreCoordinator, NSManagedObjectModel, NSManagedObjectContext)
- NSFetchRequest
- NSFetchedResultsController
資料來源:
CoreData 和併發
重要的是要記住 CoreData 不是執行緒安全的,這意味著如果有必要使用例如後臺執行緒來處理 ManagedObjects,那麼需要考慮新的事情,比如 PrivateQueue- / MainQueue -ManagedObjectContexts 。
來自 Apples 紀錄片: Core Data 希望在單個執行緒上執行。你永遠不應該線上程之間共享託管物件上下文。這是一個你不應該打破的硬規則。