核心数据保存错误:保存尝试期间,非可选属性消失

时间:2016-01-12 22:46:57

标签: ios swift core-data

上下文:我设置了CoreData对象的多个非可选属性,并在尝试保存后收到错误。

具体而言," fbid"和"所有者"在尝试保存之前正确设置。在保存尝试之后,它们被指示为nil,如print()和下面的错误摘录所示。 我在这里做错了什么?可能是造成这个问题的原因是什么?

在尝试保存之前打印核心数据对象的声明

<HittupMe.Hittup: 0x1740db6d0> (entity: Hittup; id: 0x174a2dca0 <x-coredata:///Hittup/tE7827F40-D3F7-4CA3-AB73-133466C994E62> ; data: {
fbid = 5692f3bfda68df8e3f831177;
...
owner = "0xd000000000040000 <x-coredata://D4C715E1-EEBF-4E2C-96B6-8A8C692F852C/User/p1>";
...
usersJoined = "<relationship fault: 0x174a36c00 'usersJoined'>";
})

错误:在managedContext.save()

之后
[NSValidationErrorKey: owner, NSLocalizedDescription: The operation couldn’t be completed. (Cocoa error 1570.), NSValidationErrorObject: <HittupMe.Hittup: 0x1740db970> (entity: Hittup; id: 0xd000000000040002 <x-coredata://D4C715E1-EEBF-4E2C-96B6-8A8C692F852C/Hittup/p1> ; data: {
fbid = nil;
...
owner = nil;
...
usersJoined = "<relationship fault: 0x174a36c00 'usersJoined'>";
})]

1 个答案:

答案 0 :(得分:0)

问题是&#34;一对一&#34; 关系在架构中设置&#34;一对多&#34; 需要关系

Ex:在我的代码中,我保存了多个对象,这些对象与&#34; User&#34;的相同实例有关系。宾语。由于我的模式设置为一对一,因此一次只能为用户设置一个对象,从而导致某些对象具有零所有者。