Я не думаю, что кто-либо когда-либо делает это, но если у сущностей есть одинаковые ключи, вы можете использовать один и тот же подкласс NSManagedObject для их представления.
Вы можете сделать это, потому что сам NSManagedObject разработан, чтобы иметь возможность представлять любую сущность, используя ее ассоциативное хранилище.Когда вы не удосуживаетесь создать подкласс, вы в конечном итоге получаете экземпляры класса NSManagedObject, представляющие каждую из различных сущностей в вашей модели данных.
Подклассы NSManagedObject на самом деле не сильно меняются.Свойства, определенные в подклассах, на самом деле являются просто обертками вокруг ассоциативного хранилища базовых классов NSManagedObject.(Это тот, к которому вы получаете доступ с помощью primativeValueForKey:
. Подкласс в значительной степени удобен для обеспечения легкого доступа и любого настраиваемого поведения, которое сама модель данных не может обеспечить. Однако они сохраняют гибкость NSManagedObjects.
Если у вас есть подгруппы, которыене изменяйте ничего, кроме имени объекта, тогда вы можете безопасно использовать тот же класс для их представления. Однако, если они отличаются каким-либо другим способом, это было бы безрассудно.