Я пытаюсь написать абстрактный класс для управления управляемыми объектами. Однако я не настолько знаком с Objective-C и удивляюсь, как сделать следующее.
В моем контроллере абстрактного класса у меня есть ManagedObjectContext.
В моем objectController (который реализует abstractController) мне нужно создать сущность.
В абстрактном классе у меня есть следующее:
- (NSManagedObject *) getNewObject {
return (NSManagedObject *)[NSEntityDescription insertNewObjectForEntityForName:_objectName inManagedObjectContext:managedObjectContext];
}
Тогда в моей реализации я призываю это:
MyObject* object = (MyObject) [self getNewObject];
Это, однако, приводит к ошибке компилятора: «Приведение к неполному типу»
(MyObject имеет тип NSManagedObject)
Какой самый лучший способ. Должен ли я использовать NSClassFromString? Но как мне тогда определить «getNewObject», что-то вроде:
- (id) getNewObject {
return (NSClassFromString (classname)*)[NSEntityDescription insertNewObjectForEntityForName:_objectName inManagedObjectContext:managedObjectContext];
}