【发布时间】:2013-12-14 21:00:34
【问题描述】:
我有一个 iPad 应用程序,我使用 MagicalRecord 将核心数据实体保存在 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})";
}
如果我想使用 FTASync 同步我的 Core Data 存储,我必须使用 mogenerator。
那么,除了“它无法完成”之外,这到底是在告诉我什么?我该如何解决这个问题?
更新: 这是来自 XCode 数据模型检查器的图像
【问题讨论】:
-
只是一个想法,但这可能是因为当
NSManagedObject本身定义了-objectID方法时,您将objectId定义为实体上的属性? -
另一个想法:
NSValidationErrorKey = objectId听起来好像该属性不满足核心数据模型中定义的某些约束。例如,如果属性不是可选,objectId = nil将不是有效值。 -
已更新 objectID 在 mogenerator 生成的代码中!正如我所指出的,除非我使用 mogenerator,否则我不能使用 FTASync。有什么想法吗?
-
@spokane-dude:您的错误消息包含
NSValidationErrorKey = objectId(带有小写“d”)。这是哪里来的? -
@spokane-dude:但那是
objectID(带有大写“D”)。错误信息是关于objectId(带有小写“d”)。
标签: objective-c core-data magicalrecord mogenerator ftasync