【发布时间】:2010-06-04 01:57:34
【问题描述】:
我有一个核心数据存储,其中许多实体应该是其特定 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 而不是在迭代中,但我只是想不出正确的谓词语法来做到这一点。谁能赐教?
【问题讨论】:
标签: iphone core-data nspredicate nsmanagedobject