2012-02-02 5 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'의 서브 클래스가되기를 희망한다. –

답변

1

CASTIN이

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

바보 같은 오타. –