2009-11-11 3 views
11

CoreDataエンティティからクラスを生成すると、生成されたメソッドが得られます。CoreDataGeneratedAccessors - removeObjectはオブジェクトを削除しますか?

@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]; 

} 

答えて

12

は、Yesです。あなたが他のどこかにそれを再付着させるかどうかは分からない。一方、オブジェクトを削除すると、モデルの削除ルールが「無効」に設定されている限り、削除されます。詳細については、削除ルールについてdocumentationをチェックしてください。

+1

ありがとうございます!それは私が信じたものです – Fsdn

関連する問題