Базовые данные поиска объектов второго уровня (категория элемента) - PullRequest
0 голосов
/ 20 октября 2011

Моя базовая система данных использует элементы, для которых установлен единый набор категорий (например, item.category = <Category object>), и я хочу использовать мой NSPredicate для их поиска.

В настоящее время отправляется строка поиска "string "будет соответствовать только элементам, которые содержат эту строку, но я также хочу, чтобы категории соответствовали.Можно ли настроить NSPredicate, который использует эту вложенную структуру или пользовательский селектор, чтобы сообщить системе, соответствует ли строка поиска?

В псевдокоде вот что я ищу:

if (item.title contains "search string" OR item.category.title contains "search string")
    object matches search string

1 Ответ

1 голос
/ 21 октября 2011

Да, KVC (Key Value Coding) позволяет вам связываться друг с другом настолько глубоко, насколько вы хотите. Однако имейте в виду, что предикат тем дороже, чем больше сущностей вы объединяете:

[NSPredicate predicateWithFormat:@"title == %@ || category.title == %@", title, title];

Предполагается, что вы используете предикат для таблицы сущностей "item".

...