多くのエンティティが特定の 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 で != を実行できるはずですが、それを実行するための正しい述語構文がわかりません。誰でも私を啓発できますか?