возникли проблемы с предикатом NSPredicateWithFormat "ИЛИ" - PullRequest
0 голосов
/ 20 июня 2011

Я пытаюсь получить объект из coredata, используя NSPredicate. Я пытаюсь сделать подход «поиск по мере ввода». Он отлично работает на простом названии продукта, например, "стул" или "стол".

Но как только я попробовал более сложные вещи, такие как «Электрическая коляска - электрическая», тогда, когда я наберу «Электрическая инвалидная коляска», результат не показывается. Я думаю, что это связано с моим предикатом NSPredicateWithFormat, но я уже давно занимаюсь этим. Поэтому мне нужна помощь.

Вот мой код (это мои лучшие догадки)

    request.predicate = [NSPredicate predicateWithFormat:@" Name BEGINSWITH [c] %@ ",searchText];
    request.predicate = [NSPredicate predicateWithFormat:@" Name BEGINSWITH [c] %@ OR Name like[cd] %@ ",searchText,searchText];  

Заранее спасибо :) Pondd

1 Ответ

1 голос
/ 20 июня 2011

Чтобы выполнить поиск ИЛИ, сначала нужно разделить поисковый запрос по пробелам в массив.Затем вам нужно создать предикат LIKE для каждого отдельного компонента.Наконец, вы должны объединить отдельные предикаты с несколькими составными предикатами ИЛИ.

...