récupérer des objets de base de données non dans un ensemble

Je suis en train de chercher des objets de base de données qui ne sont pas dans un ensemble donné, mais je n'ai pas été en mesure de l'obtenir pour fonctionner.

Par exemple, supposons que nous disposons d'une base de données de l'entité nommée de l'Utilisateur, qui a un peu d'attributs tels que le nom d'utilisateur, nomdefamille, givenName, et active. Étant donné un tableau de chaînes représentant un ensemble de noms d'utilisateur, on peut facilement récupérer tous les utilisateurs correspondant à cette liste de noms d'utilisateurs:

NSManagedObjectContext *moc = [[NSManagedObjectContext alloc] init];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"User"
                                          inManagedObjectContext:moc];
[request setEntity:entity];

NSArray *userNames = [NSArray arrayWithObjects:@"user1", @"user2", @"user3", nil];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userName IN %@", userNames];
[request setPredicate:predicate];
NSArray *users = [moc executeFetchRequest:request error:nil];

Cependant, je veux aller chercher le complément de ce jeu, c'est à dire, je veux que tous les utilisateurs dans la base de données qui n'ont pas les noms d'utilisateur spécifié dans le tableau des noms d'utilisateur. Quelqu'un aurait-il une idée de comment aborder cette question? Je pensais que ce serait assez simple pour ajouter un "NOT" dans le prédicat (i.e., "userName NOT IN %@"), mais Xcode déclenche une exception dire le prédicat format n'a pas pu être analysée. J'ai aussi essayé d'utiliser le prédicat builder disponible pour aller chercher les demandes avec pas de chance. La documentation n'était pas particulièrement utile. Des Suggestions? Des commentaires? Merci à tous pour votre aide 🙂

InformationsquelleAutor tomas | 2011-05-31