nspredicate вопрос по iphone - PullRequest
       3

nspredicate вопрос по iphone

0 голосов
/ 03 августа 2011

У меня есть следующий код

NSPredicate* predicate = [NSPredicate predicateWithFormat:@"Word== %@", randomWord];
rows = [[courseArray filteredArrayUsingPredicate:predicate]retain];

Я использую это в строке поиска.У меня есть два вопроса - как я могу сделать NSPredicate, чтобы он занимал каждое слово, начинающееся с набранных символов, а не имея значение, равное другому?например, у меня есть «Men, Many, Morons, Now, Never» в массиве, и когда я набираю «M», я хочу добавить «Men, Many, Morons».Кроме того, как я могу предсказать более 1 значение?так что он сравнивает между двумя форматами?

спасибо ...

Ответы [ 4 ]

1 голос
/ 05 июня 2017

Вам необходимо создать все предикаты, которые вы хотите сравнить, и добавить все предикаты в массив. после этого вы можете использовать NSCompoundPredicate для or, and условия.

вот так

NSPredicate *finalPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:@[[NSPredicate predicateWithFormat:@"is_neutered = 0"],
    [NSCompoundPredicate orPredicateWithSubPredicates:feedDays]]];
1 голос
/ 03 августа 2011

Попробуйте NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Word BEGINSWITH %@", randomWord];

Если вы хотите найти слово целиком, вы можете попробовать CONTAINS ..

1 голос
/ 03 августа 2011

Документация NSPredicate - хорошее место для начала.

Предикат для проверки, начинается ли строка с другого, [NSPredicate predicateWithFormat:@"Word BEGINSWITH %@"]

А что касается проверки двух предикатов, вы ищете NSCompoundPredicate.

0 голосов
/ 03 августа 2011

http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Predicates/Articles/pCreating.html

Найдите часть «Префикс» в разделе «Строковые константы, переменные и подстановочные знаки».

...