iOS Core Data, как правильно инициализировать отношения сущностей? - PullRequest
2 голосов
/ 27 октября 2011

У меня есть отношение один ко многим в моей основной модели данных.Мне нужно создать новую сущность и сохранить ее.У сущности есть отношение один ко многим, которое сгенерировало следующий код:

- (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правильно установить изначально наборы отношений -toMany равными 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();

        }

1 Ответ

3 голосов
/ 28 октября 2011

Алекс,

Вам не нужно начинать свои отношения.Просто используйте прилагаемые средства доступа или вспомогательные функции, и Core Data позаботится об этом.IOW, беспокоиться о собственности / отношениях, только когда вам нужно использовать ее.

Andrew

...