У меня есть базовое хранилище данных, в котором многие объекты должны быть уникальными экземплярами их конкретной 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, а не в итерации, но я просто не могу понять правильный синтаксис предиката для этого. Может ли кто-нибудь просветить меня?