0

MagicalRecord を使用して Core Data エンティティを SQLite d/b に保存する iPad アプリがあります。 FTASync を使用して Core Data を 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 を使用してコア データ ストアを同期する場合は、mogenerator を使用する必要があります。

では、「完了できませんでした」以外に、これは正確には何を私に伝えているのでしょうか? これを修正するにはどうすればよいですか?

更新: これは XCode Data Model Inspector からの画像です

ここに画像の説明を入力

4

1 に答える 1

1

モデル エディタを使用して、xcdatamodel でいくつかの検証ルールを定義しました: 最小/最大値、必要な関係、最小/最大文字列長。

GUI を介してオブジェクトを挿入すると、検証に失敗したオブジェクトを作成しようとすると、すぐにフィードバックが表示されます。ただし、コードでオブジェクトを作成または変更する場合、管理対象オブジェクト コンテキストを保存しようとしない限り、エラーは表示されません。

PreferenceData インスタンスを作成するコード内で -validateForUpdate: (または -validateForInsert: または -validateForDelete:) を呼び出すことができます。オブジェクトを構築するときに何度も呼び出すと、どこが間違っているかがわかります。

于 2013-12-14T22:00:37.213 に答える