私の 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
およびいくつかの読み取り書き込みおよび削除メソッドがあります。
手伝ってくれてありがとう!