私の iOS アプリケーションには、2 つのエンティティを持つコア データ モデルがあります。
エンティティ: ユニット / 属性: unit_name - NSString
→ Exercise( one to many)との関係
エンティティ: エクササイズ / 属性: エクササイズ名 - NSString .
だからunit、たくさん持つことができますexercises。
私のテーブルでは、View Controller がすべてexercisesリストされています。Exercise(そのため、最初に、エンティティとmanagedObjectContextこのエンティティへのポイントのフェッチ要求を行います。
"NEW" unit保存機能で保存したい場合exercisesは機能しません。エラーはまったくありませんが、unitテーブルはまだ空です。
保存関数のコードは次のとおりです。
Units *newUnit = [NSEntityDescription insertNewObjectForEntityForName:@"Units" inManagedObjectContext:[self.coreDataHelper managedObjectContext]];
newUnit.unit_name = unitTextField.text;//Attribute
newUnit.exercises = exerciseSet;//Relationship (NSSet)
NSError *error = nil;
if (![[self.coreDataHelper managedObjectContext]save:&error]) {
NSLog(@"There was an error! %@", error);
}
else {
NSLog(@"Success!");
}
まだエンティティmanagedObjectContextを指しているようです。Exercise(このエンティティで初めて初期化されたため) にcoreDataHelperは、NSPersistentStoreCoordinator、NSManagedObjectContext、NSManagedObjectModelおよびいくつかの読み取り書き込みおよび削除メソッドがあります。
手伝ってくれてありがとう!