9
votes

Écrire un nspredicat qui retourne vrai si la condition n'est pas remplie

J'ai actuellement la pièce de code suivante

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF contains '-'"];
[resultsArray filterUsingPredicate:pred];


1 commentaires

Titre modifié pour mieux refléter la question de cette question.


3 Réponses :


28
votes

Je ne suis pas un expert de l'objectif-C, mais le La documentation semble suggérer que cela est possible . Avez-vous essayé: xxx


1 commentaires

Merci, me sert à droite pour ne pas lire le document dans son intégralité. Le seul endroit que je n'ai pas essayé ne pas était avant moi-même!



8
votes

Vous pouvez créer un prédicat personnalisé pour annuler le prédicat que vous avez déjà. En effet, vous prenez un prédicat existant et que vous l'emballez dans un autre prédicat qui fonctionne comme l'opérateur non: xxx

le NSCOMPoundRedicate prend des supports de classe et, ou non des types de prédicats, afin que vous puissiez passer à travers et Construisez un prédicat composé important avec tous les caractères que vous ne voulez pas dans votre tableau, puis filtrez-vous. Essayez quelque chose comme: xxx

Je ne fais aucune garantie quant à son efficacité, et c'est probablement une bonne idée de mettre les personnages susceptibles d'éliminer le plus de cordes de la Array final Tout d'abord pour que le filtre puisse court-circuit autant de comparaisons que possible.


0 commentaires

2
votes

Je recommanderais nsnotpredicateType comme décrit dans le Documentation Apple .


0 commentaires