01-CoreData 概述

葉喬木發表於2019-01-02

CoreData 主要的幾個類

1 概述

CoreData 是iOS 3 之後出現的一種資料持久化方案,提供了一種ORM的儲存關係,CoreData 是直接將物件儲存到資料庫中去,也可以將資料庫中的資料轉化為OC物件,過程中不用編寫SQL語句。

2 幾個類的講解

  • NSManagedObjectContext 託管物件上下文 進行資料操作使用的這個類
  • NSManagedObjectModel 託管物件模型關聯一個模型檔案(.xcdatamodeld),儲存著資料庫的資料結構
  • NSPersistentStoreCoordinator 持久化儲存協調器,負責協調儲存區和上下文的關係
  • NSManagedObject 託管物件類,所有CoreData 中託管物件必須繼承於當前類

3 CoreData 建立的流程

  1. 模型檔案操作
    • 建立模型檔案,建立工程的時候進行自動勾選也可以生成對應的模型檔案(.xcdatamodeld)
    • 新增對應的實體,也就是對應資料庫中的表
    • 新增屬性設定型別
    • 選中模型檔案,點選Editor–> Create NSManageObjectSubclass, 建立託管物件類檔案

  1. 例項化上下文物件
    • 建立託管物件上下文(NSManagedObjectContext)
    • 建立託管物件模型(NSManagedObjectModel)
    • 根據託管物件模型建立持久化儲存器(NSPersistentStoreCoordinator)
    • 關聯並且建立本地資料庫檔案,並且返回持久化儲存物件(NSPersistentStore)
    • 將持久化儲存協調器賦值給託管物件上下文,完成基本的建立

4 CoreData 架構

1 資料儲存(database)

資料儲存是儲存一個或者一組檔案,當儲存訊息傳送到CoreData之後實際進行寫入到磁碟檔案

2 持久化儲存協調器 (NSPersistentStoreCoordinator)

作用就是從託管上下文中去獲取資料請求並將其轉發給合適的資料儲存。是資料儲存和上下文之間的中間人的角色。

3 上下文(NSManagedObjectContext)

提供訪問資料物件的主要介面

4 託管物件模型 (NSManagedObjectModel)

代表了資料模型架構,模型有一組實體組成