2009-11-11 14 views
11

Kiedy generowania moje zajęcia z podmiotami CoreData dostaję wygenerowane metodyCoreDataGeneratedAccessors - removeObject usuwa obiekt?

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

@end 

Więc moje pytanie jest dość prosta, gdy zgłoszę removeSearchesObject: myObject muszę usunąć go zbyt?

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

Oto wygenerowany kod (od 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]; 

} 

Odpowiedz

12

Tak, jeśli usunąć obiekt trzeba jeszcze, aby go usunąć. System nie wie, czy zamierzasz go ponownie podłączyć gdzie indziej. Z drugiej strony, jeśli usuniesz obiekt, usunie się, dopóki reguła usuwania w twoim modelu jest ustawiona na "Nullify". Aby uzyskać więcej informacji, zapoznaj się z documentation regułami usuwania.

+1

Dzięki! To jest to, w co wierzyłem – Fsdn