iOSコアのデータエンティティの関係を適切に初期化する方法

私は、私のコアデータモデルに1対1の関係を持っています。私は新しいエンティティを作成して保存する必要があります。エンティティには、次のコードを生成する1対多の関係があります。

- (void)addRelationshipEvent1:(NSSet *)values;
- (void)removeRelationshipEvent1:(NSSet *)values;

        NSManagedObjectContext *context = [self。fetchedResultsController managedObjectContext];
        NSEntityDescription *entity = [[self。fetchedResultsController fetchRequest] entity];
        ApplicationRecord *newManagedObject = (ApplicationRecord*)[NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];


        newManagedObject。startDate = [NSDate date];
        newManagedObject。stopDate = [[NSDate date] dateByAddingTimeInterval:120];

//個別の動的プロパティを追加し続ける

is it correct to set the -toMany relationship sets to nil initially? Or do I need to initialize an (empty?) set here and assign it? Would I be able to add extra objects later if I set the initial set to nil?

        newManagedObject。relationshipEvent1  = nil;
        newManagedObject。relationshipEvent2 = nil;
    //。。。

       //Save the context。
        NSError *error = nil;
        if (![context save:&error])
        {
            /*
             Replace this implementation with code to handle the error appropriately。

             abort() causes the application to generate a crash log and terminate。 You should not use this function in a shipping application, although it may be useful during development。 If it is not possible to recover from the error, display an alert panel that instructs the user to quit the application by pressing the Home button。
             */
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();

        }
2

1 答え

アレックス、

あなたはあなたの関係を初期化する必要はありません。付属のアクセサやヘルパー関数を使うだけで、Core Dataが処理します。 IOW、あなたが実際にそれを使用する必要があるときにプロパティ/関係について心配するだけです。

アンドリュー

3
追加された
早速のお返事ありがとうございます!今、関係によって指されるデータをいつ保存するかを理解する必要があります。 stackoverflow.com/questions/7921713/…
追加された 著者 Alex Stone,