Open3

CoreData(個人用の雑メモ)

Shun UematsuShun Uematsu

CoreData

データの永続化を提供するフレームワークのこと。
CoreDataを通じて保存したデータは、単一のiCloudアカウントの複数デバイス間でデータを自動的に同期します。

特徴

  • ORマッパー:オブジェクトをDBにマッピングする処理を抽象化し、データベースを直接管理することなくSwift/Objcという言語でデータを管理できる。
  • Undo/Redo:変更を追跡し、簡単にロールバックできる
  • Background data Tasks:JSON解析などUIスレッドをブロックする可能性のあるデータタスクをバックグラウンドで実行します。その結果をキャッシュまたは保存し、サーバーとのやり取りを少なくできます。
Shun UematsuShun Uematsu

CoreData Stack

アプリのモデルレイヤーを共同でサポートするクラスのことをCoreData Stackと呼びます。
CoreData Stackの関係は以下図のようになっています。

  • NSManagedObjectModel:Entityのようにデータ構造(プロパティやリレーションシップを含む)を定義する
  • NSManagedObjectContext:インスタンスへの変更を追跡する
  • NSPersistentStoreCoordinator :インスタンスの保存や取得
  • NSPersistentContainer:NSManagedObjectModel、NSManagedObjectContext、NSPersistentStoreCoordinator を一度にセットアップする