核心数据错误 1550

Posted

技术标签:

【中文标题】核心数据错误 1550【英文标题】:CoreData error 1550 【发布时间】:2015-07-16 18:03:55 【问题描述】:

我正在使用 CKSIncrementalStore。

我的数据模型是:

所有属性都是可选的。

我可以创建一个客户端,然后创建一个项目,我将客户端添加为关系。

像这样:

    project.client = client

只要我只将同一个客户端添加到一个项目,它就可以正常工作。每次我尝试将客户端添加到多个项目时,都会出现以下错误:

Error Domain=NSCocoaErrorDomain Code=1550 "The operation couldn’t be completed. (Cocoa error 1550.)" UserInfo=0x1700ff000 NSValidationErrorObject=<TimeTarget.Client: 0x1742a9d80> (entity: Client; id: 0x1706226c0 <x-coredata://5190F80A-6F0D-453D-9651-D4C827B299B1-2205-0000008CA6B29B34/Client/p6568F8E8-DF69-485C-BE84-B68261BA60F8> ; data: 
billable = 0;
color = 0;
defaultHourRate = 0;
name = Byyy;
projects =     (
    "0x17062c760 <x-coredata:///Project/tFDBB182C-7A2C-4E13-9AC3-080B305B10AB6>",
    "0xd000000000040002 <x-coredata://27D63876-D016-436C-B8DD-99C0B8A9587A/Project/p1>"
); ), NSValidationErrorValue=Relationship 'projects' on managed object (0x1742a9d80) <TimeTarget.Client: 0x1742a9d80> (entity: Client; id: 0x1706226c0 <x-coredata://5190F80A-6F0D-453D-9651-D4C827B299B1-2205-0000008CA6B29B34/Client/p6568F8E8-DF69-485C-BE84-B68261BA60F8> ; data: 
billable = 0;
color = 0;
defaultHourRate = 0;
name = Byyy;
projects =     (
    "0x17062c760 <x-coredata:///Project/tFDBB182C-7A2C-4E13-9AC3-080B305B10AB6>",
    "0xd000000000040002 <x-coredata://27D63876-D016-436C-B8DD-99C0B8A9587A/Project/p1>"
); ) with objects (
<TimeTarget.Project: 0x1702a2b20> (entity: Project; id: 0x17062c760 <x-coredata:///Project/tFDBB182C-7A2C-4E13-9AC3-080B305B10AB6> ; data: 
billable = 0;
client = "0x1706226c0 <x-coredata://5190F80A-6F0D-453D-9651-D4C827B299B1-2205-0000008CA6B29B34/Client/p6568F8E8-DF69-485C-BE84-B68261BA60F8>";
color = 0;
defaultHourRate = 0;
name = "\U00c5\U00e5\U00e5\U00e5";
),
<TimeTarget.Project: 0x1700dd730> (entity: Project; id: 0xd000000000040002 <x-coredata://27D63876-D016-436C-B8DD-99C0B8A9587A/Project/p1> ; data: 
billable = 0;
"cks_LocalStore_Attribute_ChangeType" = 0;
"cks_LocalStore_Attribute_EncodedValues" = <62706c69 73743030 d4010203 04050649 4a582476 65727369 6f6e5824 6f626a65 63747359 24617263 68697665 72542474 6f70>;
"cks_LocalStore_Attribute_RecordID" = "F8288FC8-8CBC-4B19-B2A5-F0FD8C19F109";
client = "0xd000000000040000 <x-coredata://27D63876-D016-436C-B8DD-99C0B8A9587A/Client/p1>";
color = 0;
defaultHourRate = 0;
name = Iiii;) ), NSValidationErrorKey=projects, NSLocalizedDescription=The operation couldn’t be completed. (Cocoa error 1550.)

我将 NSManagedObjectContext 存储在 sharedManager 中,因此我在任何地方都使用相同的 NSManagedObjectContext。

可能出了什么问题? :)

【问题讨论】:

“我在任何地方都使用相同的 NSManagedObjectContext”:你总是从同一个线程调用它吗? 我没有使用线程,所以我假设一切都在主线程上运行。 :) 这可能对***.com/questions/16498875/…有帮助 @NickEmilStarupPedersen 我不会假设,因为另一个库可能正在切换(您可以在更新数据模型之前通过记录 [NSThread isMainThread] 进行检查) 其他要检查的事情:(1)对象实际上是您认为的对象类型; (2) 您没有创建任何无效的关联(例如将客户添加到已经有客户的项目中) 【参考方案1】:

这是图书馆的问题。 (:

见:https://github.com/nofelmahmood/CKSIncrementalStore/issues/6

【讨论】:

以上是关于核心数据错误 1550的主要内容,如果未能解决你的问题,请参考以下文章

将具有关系的临时对象保存到 managedObjectContext 会导致错误 1550

核心数据保存错误

获取核心数据,NSException错误

CoreData错误如何写回核心数据

iPhone:核心数据保存错误

xcode核心数据部分错误