Core Data の仕組みを学ぼうとしています。そこで、属性を持つエンティティを作成し、エンティティの xcdatamodel ファイルと .h および .m ファイルを取得しました。偉大な。
また、エンティティにデータを追加するために、アプリ デリゲートに次のコードを記述しました。
TestEntity *newEntity = [NSEntityDescription
insertNewObjectForEntityForName:@"TestEntity"
inManagedObjectContext:self.managedObjectContext];
newEntity.entityName = @"temp";
NSError *savingError = nil;
if([self.managedObjectContext save:&savingError]){
NSLog(@"Success");
}
else{
NSLog(@"Fail");
}
ここまでは順調ですね。しかし今、メインのView Controllerでこのデータ、つまりentityNameにアクセスしたいと考えています。これは私が迷っているところです。ソースコードのサンプルを読んだところ、ほとんどの人は次のように言っています
NSError *requestError = nil;
NSFetchRequest *fetchrequest = [[NSFetchRequest alloc] initWithEntityName: @"TestEntity"];
NSArray *entities = [self.managedObjectContext executeFetchRequest: fetchrequest error:&requestError];
これにより、TestEntity オブジェクトでいっぱいのエンティティと呼ばれる配列が得られます。ということで、名前にアクセスできるはずentities.entityName
です。
しかし、managedobjectcontext はこのビュー コントローラーのプロパティではないというエラーが表示されます。それは私には理にかなっていますが、これに対する解決策が何であるかわかりませんか? コアデータを使用したい各クラスに必要なコアデータのプロパティ/メソッドを実装する必要がありますか?