Я использую CKSIncrementalStore.Ошибка CoreData 1550
Мой DataModel является:
Все атрибуты не являются обязательными.
Я могу создать клиента и после этого создать проект, где я добавляю клиента в качестве отношения.
Как это:
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 везде»? *:. Вы всегда называть его из тех же нитей –
Я не использую многопоточность, поэтому я предполагаю, что все работает на mainthread :) –
Это может помочь http://stackoverflow.com/questions/16498875/context-does-not-save-the-changes-with-error-1550 –