Отфильтровывать базовые данные без связей - PullRequest
1 голос
/ 11 октября 2010

Предположим, у вас есть объект под названием Библиотека, и каждая Библиотека может содержать Книги.Библиотека может вообще не иметь книг.Можно ли отфильтровать запрос на выборку, чтобы я получал только библиотеки, содержащие книги?

Я прочитал, что вы можете использовать тег SIZE для NSArrays (например, myArray [SIZE]) в NSPredicate, ноэтот тег не работает для NSSets (в отношении ко-многим в базовых данных).

Существует ли эквивалентный тег, который можно использовать для подсчета количества книг в библиотеке и фильтрации результатов на основена этом?

Ответы [ 2 ]

4 голосов
/ 11 октября 2010

Вы можете использовать books.@count, предполагая, что books является отношением ко многим от Library до Book.

0 голосов
/ 11 октября 2010

Вы можете попытаться определить пользовательское свойство для вашего NSManagedObject, которое вычисляет и возвращает счетчик. В основном зайдите и определите пользовательский метод для свойства только для чтения вместо использования @synthesize или @dynamic, который вызывает count для nsset, затем используйте предикат для этого.

...