CoreDataのxcdatamodeldと、xcdatamodel
Objective-CでCoreDataを使ってみていました。
あれこれ試しつつ、ボンヤリとですが、見えてきたように思います。
テンプレート
新規プロジェクトを始める時に、テンプレートで「CoreData」を使うにチェックすることで、CoreDataは使えます。でも、後で付け加えたい時もあって、そんな方法はないかと、色々とあれこれしていました。やってみると、かなり手惑います。
拡張子
特にCoreaDataのファイルの拡張子「.xcdatamodeld」と「.xcdatamodel」は戸惑いました。
- 「.xcdatamodel」だとwithExtensionが「mom」
- 「.xcdatamodeld」だとwithExtensionが「momd」
withExtensionというのは、どうやらPDFファイル、jpegファイルなどを保存しておくところらしいのですが...まだまだ分からず
- (NSManagedObjectModel *)managedObjectModel { if (managedObjectModel_ != nil) { return managedObjectModel_; } NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Example" withExtension:@"mom"]; managedObjectModel_ = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; return managedObjectModel_; }