私はNSIncrementalStore、REST サービスに支えられた を作成中です。オブジェクトの POST および GET ではうまく機能しますが、それらを DELETE すると、次の問題が発生します。
- テスト通話
[context delete: object]; context.deletedObjects含むobject(予想通り)- テスト通話
[context save: &error]; - iOS は;で
NSIncrementalStoresexecuteRequest:withContext:error:を呼び出します。呼び出しが と の両方にNSSaveChangesRequest到着したとき、私のコードはサーバーからどのオブジェクトを削除するかを見つけることができません。context.deletedObjects == nilsaveChangesRequest.deletedObjects == nil
コンテキストの呼び出しとその呼び出しの間にdeletedObjects設定されるのはどうしてですか?nilsaveNSIncrementalStore
UPDATE考えられる原因:object.objectIDはまだtemporaryID次のsave. はNSIncrementalStore現在、オブジェクト ID を取得してnewObjectIDForEntity:referenceObject:おり、Apple のドキュメントからの説明はまだ適用されていないようです。
管理オブジェクト コンテキストに挿入された新しいオブジェクトには一時 ID が割り当てられます。この ID は、オブジェクトが永続ストアに保存されると永続 ID に置き換えられます。