我有一个核心数据存储,其中许多实体应该是其特定 NSEntityDescription 的唯一实例。我目前正在通过为给定描述创建一个新实体来做到这一点,然后是:
-(void)clearMyManagedObjectsExceptFor:(NSManagedObject*)except {
NSArray *managedObjects = [ self fetchMyManagedObjectsWithPredicateOrNil: nil ];
// returns all managed objects for a given NSEntityDescription
NSManagedObject *managedObject;
for( NSUInteger i = 0; i < [ managedObjects count ]; i++ ){
managedObject = [ managedObjects objectAtIndex: i ];
if( ![ managedObject isEqual: except ] ){
[ managedObjectContext deleteObject: managedObject ];
}
}
}
哪个有效,但感觉我应该能够做到这一点!= 使用 NSPredicate 而不是在迭代中,但我只是想不出正确的谓词语法来做到这一点。任何人都可以启发我吗?