2016-01-26 4 views
2

Можно ли написать предикат, который будет отфильтровывать объекты по свойству, который существует только в одном из подклассов (в CoreData).NSPredicate для фильтрации результатов по свойству, которое существует только в одном из подклассов

Например:

class MainClass: NSManagedObject { 
    vars... 
} 

class Subclass1: MainClass { 
    vars... 
} 

class Subclass2: MainClass { 
    var isImportant: NSNumber 
} 

Я хотел бы написать предикат, который будет возвращать MainClass объектов типа, но будет отфильтровывать Subclass2 объектов, свойство isImportant устанавливается в false.

В результате массив объектов должен включать все объекты MainClass и Subclass1. Но только Subclass2 объектов, isImportant Тип ,коммер., Адрес: true.

Мне нужно написать аналогичный предикат для запроса выборки для NSFetchedResultsController в CoreData.

+0

Возможно, дизайн здесь неправильный. Не могли бы вы объяснить, как выглядят ваши сущности? –

ответ

0

Глава 3 из https://www.objc.io/books/core-data/ подробно рассказывает о сущностях, но в основном: вы почти никогда не хотите их использовать. Вы можете создавать подклассы (как и вы) без использования сущностей. Это может решить вашу проблему.