Абстрагирует классы и приведение управляемых объектов - PullRequest
0 голосов
/ 02 февраля 2012

Я пытаюсь написать абстрактный класс для управления управляемыми объектами. Однако я не настолько знаком с 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];  
}

1 Ответ

1 голос
/ 02 февраля 2012

Кастин делается как показано ниже

MyObject* object = (MyObject*) [self getNewObject];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...