上下文:我设置了一个CoreData对象的多个非可选属性,并在尝试保存后收到了一个错误。
具体来说,在尝试保存之前,正确设置了"fbid“和"owner”。在尝试保存后,它们被指示为0,如下面的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'>";
})]发布于 2016-01-13 22:37:40
问题是在模式中设置的“一对一”关系,其中需要“一对多”的关系。
在我的代码中,我保存了与"User“对象的同一个实例有关系的多个对象。由于我的模式被设置为一对一,所以一次只能将一个对象设置为用户,从而导致一些对象具有零所有者。
https://stackoverflow.com/questions/34755217
复制相似问题