CoreData 是 iOS SDK 裡的一個很強大的架構,允許程式員以面向對象的方式儲存和管理資料。使用 CoreData 架構,程式員可以很輕松有效地通過面向對象的接口管理資料。CoreData 架構提供了 對象 - 關系映射 (ORM) 的功能,即能夠将 OC 對象轉化成資料,儲存在 SQLite3 資料庫檔案中,也能夠将儲存在資料庫中的資料還原成 OC 對象,在資料操作過程中,無需編寫任何 SQL 語句。

模型檔案及實體(Entity)。要使用 CodeData,首先需要定義模型檔案,描述應用程式中的所有實體(Entities),所謂實體是跟資料庫進行映射的對象。
NSManagedObject:對應資料庫中的一條記錄。
CoreData 主要對象關系示意圖類似于資料庫的句柄,handle,用來操縱資料庫 持久化存儲排程者,是資料庫與對象之間的,在開發中。隻會用到一次,如果不了解,直接粘代碼。
CoreData 主要對象
NSManagedObjectContext:負責應用和資料庫之間的互動 (CRUD)。
NSPersistentStoreCoordinator:添加持久化存儲庫(如 SQLite 資料庫), 是實體資料存儲的實體檔案和程式之間的聯系的橋梁 ,負責管理不同對象上下文。
NSManagedObjectModel:被管理的對象模型。
NSEntityDescription:實體描述。
配置
1、在工程中建立 Data Model 資料模型檔案。
2、在 Data Model 模型檔案中添加 Entity 實體,修改實體名稱,并在實體中添加模型屬性。
3、在模型檔案右側屬性清單的 Code Generation 中設定生成 NSManagedObject subclass 子類的使用語言。
4、在模型檔案右側屬性清單的 Class => Codegen 中設定 Manual/None。如果不修改此項程式編譯時會報 Linker command failed with exit code 1 (use -v to see invocation) 錯誤。
5、基于 Data Model 資料庫檔案中的 Entity 建立 NSManagedObject subclass 類。Xcode8 從系統菜單的 Editor 建立,建立後檔案中多出來 4 個檔案。
6、在需要使用 CoreData 的檔案中。
搭建 CoreData 環境
插入資料
删除資料
修改資料
查詢資料
CoreData 是 iOS 開發中經常使用的資料持久化的技術。但其操作過程稍微繁瑣,即使你隻是實作簡單的存取,不涉及請求優化,也要進行許多配置工作,代碼量在動辄幾十行,對新手來說也需要較大時間成本。
簡化 Core Data 相關代碼
允許清晰,簡單,單行擷取
當需要優化請求的時候,仍然允許修改 NSFetchRequest
如果你在使用 MagicalRecord 方法的時候不想帶 <code>MR_</code> 字首,直接用 findAll 代替 <code>MR_findAll</code>,就在引入頭檔案 CoreData+MagicalRecord.h 之前增加 <code>#define MR_SHORTHAND</code> 即可。
建立 Model。建立一個 Model.xcdatamodeld ,添加一個 Person Entity,添加 age firstname lastname 三個屬性。最後使用 Editor => Create NSManagedObject Subclass ORM 生成 Person 類。
在使用的檔案中引入頭檔案
初始化
增
删
改
查