2013-07-17 3 views
0

Предположим, у меня есть два объекта, A и B. Моя цель - реализовать поиск по всем свойствам A и только одно свойство B и отобразить сумму результатов поиска в одном tableView. Естественно, я могу установить fetchRequest только одним объектом. Но если я правильно понимаю, я могу получить не только от A, но и от B, если они связаны с отношениями. Итак, что мне нужно сделать, чтобы реализовать это? Использует ли выбор по умолчанию все свойства от A и B? Если нет, как я могу указать выборку всех свойств из A и одно свойство B в одном из них?Поиск по свойствам двух объектов (выборка из двух сущностей)

+0

Связаны ли ваши сущности с ними? Вы собираетесь показать список «А» в качестве результатов? Вы читали о предикатах? – Wain

+0

Да, они связаны с отношениями «многие ко многим», установленными на инверсию. Я хочу показать список результатов, включая поиск из всех свойств 'A' и только одно' свойство' 'B'. Я думаю, что в моем случае предикат должен быть чем-то вроде [NSPredicate predicateWithFormat: @ "relationship.property CONTAINS [cd]% @", searchString]; Я попробовал это, но я возвращаю (null) в результате для этого 'property'' B'. Похож на базовую выборку из 'A'fetches только из' A', даже если установлены отношения – Alex

ответ

0

Проблема решена. На этапе предварительной загрузки данных из JSON файла в Core Data Я определяю getters для свойств (prefetching data from entity) в B и задает свойства объекта A, равные возвращенным результатам этих геттеров (все это в подклассах NSManagedObject, унаследованных от сущностей). Поэтому после этого я могу получить все, что мне нужно, используя эти getters через соответствующие свойства.

Смежные вопросы