NSPredicate OR търсене на низ и цяло число

Опитвам се да използвам този предикат, за да филтрирам потребителския модел. Когато обаче добавя цялото число към формата, филтърът за низ вече не работи. Освен това само един от двата целочислени филтъра работи („груповият“ филтър работи, но „не“ не).

NSPredicate *predicateTemplate = [NSPredicate  predicateWithFormat:@"first_name CONTAINS[cd] %@ OR last_name CONTAINS[cd] %@ OR nickname CONTAINS[cd] %@ OR no = %i OR group == %i", searchText, searchText, searchText, value, value];

Модел:

@property NSString *first_name;
@property NSString *last_name;
@property NSString *nickname;
@property NSInteger no;
@property NSInteger group;

Масивът съдържа множество обекти със свойството по-горе и аз филтрирам масива така:

_searchResults = [anArray filteredArrayUsingPredicate:predicateTemplate]

person harinsa    schedule 14.08.2013    source източник
comment
публикувайте съдържанието на масива, който се опитвате да филтрирате   -  person Pratyusha Terli    schedule 14.08.2013
comment
@PratyushaTerli актуализира въпроса, не съм сигурен, че разбирам какво имате предвид под съдържанието на масива, имате предвид структура или истинското съдържание?.   -  person harinsa    schedule 14.08.2013
comment
структура на речника в масив   -  person Pratyusha Terli    schedule 14.08.2013


Отговори (1)


no е запазена дума и ще се сравнява само като равна на стойности, които са равни на нула. Предлагам ви да промените името на собствеността си с нещо по-дълго и по-смислено.

person warrenm    schedule 14.08.2013
comment
Като алтернатива можете да използвате разширението %K в предиката, за да избегнете такъв вид сблъсъци: predicateWithFormat:@"%K = %i", @"no", value. - person Martin R; 14.08.2013