Я использую следующий NSPredicate для фильтрации,NSPredicate - регистронезависима фильтрация для нескольких условий
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(firstName CONTAINS %@) OR (lastName CONTAINS %@ )OR (UserName CONTAINS %@) ", myText,myText,myText];
NSArray *filtered = [responseArray filteredArrayUsingPredicate:predicate];
Он отлично работает, но чувствительно к регистру. Мне нужно, чтобы фильтрация была нечувствительной к регистру.
Я попытался,
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(ANY firstName CONTAINS %@) OR (ANY lastName CONTAINS %@ )OR (ANY UserName CONTAINS %@) ", myText,myText,myText];
Но он бросает ошибку
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The left hand side for an ALL or ANY operator must be either an NSArray or an NSSet.'
Я не могу понять, что это было упомянуто в this answer. Может ли кто-нибудь предложить, что мне следует изменить здесь в приведенной выше фильтрации?
Это работает спасибо. Я буду рассматривать все мои проблемы с кодированием, вместо того, чтобы видеть документацию на яблоко. [Этот ответ] (http://stackoverflow.com/a/1669433/756941) заставил меня использовать ключевое слово 'ANY' для нечувствительного к регистру. Добавьте ссылку, в которой упоминается в руководстве по программированию Predicate. – NAZIK