データベースを使えるようにする

CoreRecipes

./Hands-On Examples/Example 2 – Building a Core Data Command Line Tool/CoreRecipesTool-End
(とりあえずビルドしたものの、いきなりリンクエラー。 FrameworksにCocoa.frameworkを持ってきてコンパイル通りました)

最初に呼ばれているNSManagedObjectModel

NSArray *bundlesToSearch = [NSArray arrayWithObject:[NSBundle mainBundle]];
model = [NSManagedObjectModel mergedModelFromBundles:bundlesToSearch];
[model retain];

ビルドしたバイナリと同じディレクトリに”CoreRecipes.mom”というファイルができているので恐らくソレを取得する模様。
モデル(スキーマ??)と実際のデータが別々(このサンプルコードではデータは”/tmp/CoreRecipesTool.xml”)に保存されている(普通そうですか)。

流れとしては

  1. NSManagedObjectModelでモデルを取得
  2. 取得したモデルからNSPersistentStoreCoordinatorを生成(Persistentは持続する・永続するの意。コメントによれば
    // Create a persistent store coordinator to act as a facade on all of the persistent stores.
    すべての永続ストア(恐らくファイルとなって保存されているデータ)の正面(受付口?)となる永続ストアコーディネーターを作る)
  3. NSManagedObjectContextを生成
  4. coordinatorにManagedObjectContextをくっつける
  5. 実際の永続ストア(ファイル)をcoordinatorに知らせる

わかったような解らないような、、。


コメントを残す

メールアドレスが公開されることはありません。

11 − 9 =