2012-02-02 6 views
0

Я пытаюсь написать абстрактный класс для управления управляемыми объектами. Однако я не знаком с Objective-C и не знаю, как это сделать.Тезисы классов и литье управляемых объектов

В моем абстрактном контроллере классов у меня есть ManagedObjectContext. В моем объекте Control (который реализует abstractController) мне нужно создать объект. В абстрактном классе я следующее:

- (NSManagedObject *) getNewObject { 
    return (NSManagedObject *)[NSEntityDescription insertNewObjectForEntityForName:_objectName inManagedObjectContext:managedObjectContext]; 
} 

Тогда в моей реализации я призываю это:

MyObject* object = (MyObject) [self getNewObject]; 

Это, однако, дает ошибку компиляции: «Cast к неполному типу» (MyObject является типа NSManagedObject)

Каков наилучший способ. Должен ли я использовать NSClassFromString? Но как же я тогда определить "getNewObject", что-то вроде:

- (id) getNewObject { 
    return (NSClassFromString (classname)*)[NSEntityDescription insertNewObjectForEntityForName:_objectName inManagedObjectContext:managedObjectContext]; 
} 
+0

, что твой MyObject ???? Я надеюсь, что это подкласс класса «NSManagedObject» –

ответ

1

Castin делается ниже

MyObject* object = (MyObject*) [self getNewObject]; 
+1

Правильная, глупая опечатка так ... –

Смежные вопросы