./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”)に保存されている(普通そうですか)。
流れとしては
- NSManagedObjectModelでモデルを取得
- 取得したモデルからNSPersistentStoreCoordinatorを生成(Persistentは持続する・永続するの意。コメントによれば
// Create a persistent store coordinator to act as a facade on all of the persistent stores.
すべての永続ストア(恐らくファイルとなって保存されているデータ)の正面(受付口?)となる永続ストアコーディネーターを作る) - NSManagedObjectContextを生成
- coordinatorにManagedObjectContextをくっつける
- 実際の永続ストア(ファイル)をcoordinatorに知らせる
わかったような解らないような、、。
コメントを残す