我有以下数据模型:
实体用户,继承自实体联系人。
联系人与实体ContactInfo有一对一的关系。
用户与联系人有一对多的关系。
ContactInfo与Contact和Contact的反向关系依次与User有关。
我正在为User创建一个ContactInfo对象:
ContactInfo *moInfo = [self createContactInfoManagedObject];
moInfo.contact = userMO;
userMO.contactInfo = moInfo;
其中createContactInfoManagedObject返回ContactInfo类型的对象。 我在线上发现以下异常
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实体分配给联系人关系时,我认为继承有问题。请指教! 谢谢
答案 0 :(得分:1)
您的userMO
对象来自哪里?
错误消息表明它是NSManagedObject
的实例,但它期待Contact
的实例。
答案 1 :(得分:0)
尝试施放对象:
ContactInfo *moInfo =(ContactInfo*) [self createContactInfoManagedObject];