2010-04-30 52 views

回答

7

選擇的所有對象的特定實體,遍歷每個並刪除他們的作品

這幾乎是你怎麼做。

+1

就是這樣?荒謬。重置方法需要幾毫秒,而循環垃圾可能需要幾秒鐘的時間。 – 2010-04-30 20:33:08

+7

如果您的實體與其他實體存在依賴關係,則必須對其進行管理。我非常確定這就是爲什麼他們被稱爲管理對象。這可能會有一些開銷。 – 2010-04-30 20:34:49

+0

哇。態度很好。 – 2010-04-30 20:49:36

0

營救類別!再次。

的NSManagedObjectContext + MyExtensions.h

@interface NSManagedObjectContext (MyExtensions) 

-(void) deleteAllInstancesOfEntity:(NSString*) entity; 

@end 

的NSManagedObjectContext + MyExtensions.m

#import "NSManagedObjectContext+MyExtensions.h" 


@implementation NSManagedObjectContext (MyExtensions) 

-(void) deleteAllInstancesOfEntity:(NSString*) entity { 
    NSError* error; 

    for (NSManagedObject* o in 
      [self executeFetchRequest:[NSFetchRequest fetchRequestWithEntityName:entity] 
           error:&error]) { 
      [o.managedObjectContext deleteObject:o]; 
    } 
} 

@end 

使用

NSManagedObjectContext *myMOC = ...; 
[myMOC deleteAllInstancesOfEntity:@"SmellyCheese"]; 

類別是真棒。

相關問題