У меня есть модель базовых данных, где у меня есть сущность A, которая является абстрактной. Объекты B, C и D наследуются от объекта A. Есть несколько свойств, определенных в объекте A, которые используются B, C и D.
Я хотел бы использовать это наследование в коде моей модели. В дополнение к свойствам мне интересно, могу ли я добавить методы к объекту A, которые реализованы в его дочерних объектах.
Например:
- Я добавляю в интерфейс метод для объекта A, который возвращает значение и принимает один аргумент
- Я добавляю реализации этого метода в A, B, C, D
- Затем я звоню
executeFetchRequest:
, чтобы получить все экземпляры B
- Я вызываю метод для извлеченных объектов, который должен вызывать реализацию метода, содержащегося в реализации B
Я пробовал это, но при вызове метода я получаю:
[NSManagedObject methodName:]:
нераспознанный селектор отправлен на экземпляр
Я предполагаю, что это потому, что объекты, возвращаемые executeFetchRequest:
, являются прокси-объектами какого-то рода.
Есть ли способ использовать наследование, используя подклассы NSManagedObjects?
Мне бы очень хотелось сделать это, иначе мой код модели будет отвечать за определение типа NSManagedObject, с которым он имеет дело, и выполнять специальную логику в соответствии с типом, что нежелательно.
Любая помощь приветствуется, спасибо заранее.