2012-02-02 27 views
0

我想寫一個抽象類來管理被管理的實體。但是,我對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]; 
} 
+0

什麼是你的MyObject做????我希望它是'NSManagedObject'的子類 – 2012-02-02 16:00:19

回答

1

CASTIN是如下

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

正確,愚蠢的錯字所以... – 2012-02-02 16:26:41