2011-02-14 5 views
0

다음 데이터 모델이 있습니다.핵심 데이터 상속 및 관계

엔터티 연락처에서 상속되는 엔터티 사용자.

연락처는 엔터티 ContactInfo와 일대일 관계가 있습니다.

사용자는 연락처와 일대 다의 관계가 있습니다.

ContactInfo는 Contact와 반대 관계를 가지며 Contact는 User와 반대의 관계가 있습니다.

나는 사용자에 대한 CONTACTINFO 개체를 만드는거야 : createContactInfoManagedObject 유형 CONTACTINFO의 개체를 반환

 ContactInfo *moInfo = [self createContactInfoManagedObject]; 
     moInfo.contact = userMO; 
     userMO.contactInfo = moInfo; 

. 나는

 moInfo.contact = userMO; 


Unacceptable type of value for to-one relationship: property = "contact"; desired type = Contact; given type = NSManagedObject; value = <NSManagedObject: 0x3b2850> (entity: User; id: 0x3d4fa0 <x-coredata://4889CBE0-094B-49DB-B525-C87F7CD1AA68/User/p1> ; data: { 
    contacts =  (
     "0x3d4fa0 <x-coredata://4889CBE0-094B-49DB-B525-C87F7CD1AA68/User/p1>" 
    ); 
    user = "0x3d4fa0 <x-coredata://4889CBE0-094B-49DB-B525-C87F7CD1AA68/User/p1>"; 
    contactInfo = "0x3ebdc0 <x-coredata:///VCard/t128311BC-4B82-45CF-B87C-9AD38CBC89163>"; 
}). 

내 질문은 줄에 다음과 같은 예외를 잘못 여기에 무엇을 얻고있다? 연락처 관계에 User 엔터티를 할당하려고하면 상속에 문제가 있다고 생각합니다. 제발 조언 해! 당신의 userMO 개체에서 오는

ContactInfo *moInfo =(ContactInfo*) [self createContactInfoManagedObject]; 

답변

0

시도를 감사?

오류 메시지는 NSManagedObject의 인스턴스임을 나타내지 만 인스턴스가 Contact 일 것으로 예상됩니다.

+0

createContactInfoManagedObject는 ContactInfo 객체를 반환합니다. 캐스팅은 많이 바뀌지 않습니다. –

1

: 개체를 캐스팅하면

+0

오류는 'property = "contact"문제에 대해 이야기합니다. NSManagedObject가 할당되고 있는데, Contact 객체를 기대하지만 사용자는 Contact에서 파생되므로 이해할 수 없습니다. 어디에서 오류가 발생합니다. –

+1

Contact 개체의 관리되는 개체 클래스를 개체 모델의 Contact 클래스로 설정 하시겠습니까? 어쨌든 @paulbailey가 맞다. 우리는'userMO' 객체를 만드는 방법을 알아야한다. –