У меня есть приложение для iPad, в котором я использую MagicalRecord для сохранения объектов Core Data в SQLite d/b. Все работало нормально, пока я не решил использовать FTASync для синхронизации основных данных с Parse.com.
Часть требований FTASync заключается в том, что вы должны использовать mogenerator для создания файлов классов сущностей. Теперь я получаю эту ошибку:
2013-12-14 12:38:59.375 foo[5451:70b] Failed to save to data store: The operation couldn’t be completed. (Cocoa error 1560.)
2013-12-14 12:38:59.380 foo[5451:70b] DetailedError: {
NSLocalizedDescription = "The operation couldn\U2019t be completed. (Cocoa error 1570.)";
NSValidationErrorKey = objectId;
NSValidationErrorObject = "<PreferenceData: 0x1149c3a0> (entity: PreferenceData; id: 0x114a7eb0 <x-coredata://03C39CC9-AC6C-4E56-BB5A-67038ACB6801/PreferenceData/p25> ; data: {\n aAddlSvcs1 = \"\";\n aAddlSvcs10 = \"\";\n aAddlSvcs11 = \"\";\n aAddlSvcs12 = \"\";\n aAddlSvcs2 = \"\";\n aAddlSvcs3 = \"\";\n aAddlSvcs4 = \"\";\n aAddlSvcs5 = \"\";\n aAddlSvcs6 = \"\";\n aAddlSvcs7 = \"\";\n aAddlSvcs8 = \"\";\n aAddlSvcs9 = \"\";\n aApptInterval = \"\";\n aDeleteOldAppts = \"-1\";\n aDoubleBooking = \"-1\";\n aHideHelpBtns = 0;\n aHourFormat12 = 0;\n aShopCloses = 1200;\n aShopOpens = 1000;\n createdHere = 1;\n deleted = 0;\n objectId = nil;\n syncStatus = 2;\n updatedAt = nil;\n})";
}
Если я хочу синхронизировать хранилище Core Data с помощью FTASync, я должен использовать mogenerator.
Итак, что именно это говорит мне, кроме «это не может быть завершено»? Как я могу это исправить?
ОБНОВЛЕНО: это изображение из инспектора модели данных XCode.
objectId
как атрибут объекта, когдаNSManagedObject
сам имеет определенный метод-objectID
? - person indragie   schedule 15.12.2013NSValidationErrorKey = objectId
звучит так, как будто это свойство не удовлетворяет некоторым ограничениям, определенным в модели Core Data. Например, если атрибут не является необязательным,objectId = nil
не будет допустимым значением. - person Martin R   schedule 15.12.2013NSValidationErrorKey = objectId
(со строчной буквой d). Откуда это? - person Martin R   schedule 15.12.2013objectID
(с заглавной D). Сообщение об ошибке примерноobjectId
(d в нижнем регистре). - person Martin R   schedule 15.12.2013