CoreDataGeneratedAccessors - removeObject удаляет объект?

Когда я генерирую свои классы из объектов CoreData, я получаю сгенерированные методы

@interface Site (CoreDataGeneratedAccessors)
- (void)addSearchesObject:(Search *)value;
- (void)removeSearchesObject:(Search *)value;
- (void)addSearches:(NSSet *)value;
- (void)removeSearches:(NSSet *)value;

@end

Итак, мой вопрос довольно прост, когда я вызываю removeSearchesObject: myObject мне тоже нужно его удалить?

[site removeSearchesObject:[[fetchedResultsController fetchedObjects] objectAtIndex:indexPath.section]];
        [context deleteObject:[[fetchedResultsController fetchedObjects] objectAtIndex:indexPath.section]];

Вот сгенерированный код (из doc)

- (void)removeEmployeesObject:(Employee *)value

{

    NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1];



    [self willChangeValueForKey:@"employees"

          withSetMutation:NSKeyValueMinusSetMutation

          usingObjects:changedObjects];

    [[self primitiveEmployees] removeObject:value];

    [self didChangeValueForKey:@"employees"

          withSetMutation:NSKeyValueMinusSetMutation

          usingObjects:changedObjects];



    [changedObjects release];

}

Ответ 1

Да, если вы удаляете объект, вам все равно нужно его удалить. Система не знает, собираетесь ли вы снова подключить ее в другом месте. С другой стороны, если вы удалите объект, он удалит его, если правило удаления в вашей модели установлено на "Nullify". Для получения дополнительной информации вы должны проверить documentation на правилах удаления.