Настройка поиска для поиска суперкласса? - PullRequest
0 голосов
/ 08 сентября 2011

У меня есть NSFetch, который ищет объекты в суперклассе, который работает нормально. Есть 4 подкласса. Я хочу, чтобы вместо этого он искал 3 из 4 подклассов. Один из 4 подклассов не может быть отображен в приложении без покупки в приложении, поэтому я не хочу, чтобы он был виден через поиск.

Есть идеи?

1 Ответ

1 голос
/ 08 сентября 2011

Звучит так, как будто вы устанавливаете сущность в NSFetchRequest, и вы хотите предотвратить появление определенной суб-сущности. Я думаю, что вам лучше всего просто отфильтровать результаты выборки, поскольку NSPredicate не может проверить тип объекта. Выполнив NSFetchRequest, вы можете создать новый массив, состоящий только из элементов первого массива, которые не являются членами этого конкретного подкласса. Конечно, если вы ограничиваете запрос на выборку заданным числом результатов (например, «разбиваете страницы» на свой массив), это будет немного сложнее. В этом случае вы можете выбрать больше объектов, чем вам нужно, при условии, что некоторые из них будут отфильтрованы, а если вы отфильтруете так много, что у вас останется меньше размера страницы, вы можете выполнить вторую выборку и продолжить. Да, это сложно.

Альтернативным решением является сохранение логического значения в вашем суперклассе, которое указывает, требует ли объект IAP, а затем всегда задайте для него значение YES для одного подкласса и NO для всех остальных. Таким образом, вы можете проверить логическое значение в вашем NSPredicate.

...