6

.DeleteSelf は実際にどのように機能しますか? ドキュメントは次のように述べています。

参照オブジェクトのアクションが CKReferenceActionDeleteSelf に設定されている場合、参照のターゲット (つまり、参照の recordID プロパティに格納されているレコード) がソース レコードの所有者になります。ターゲット (所有者) レコードを削除すると、そのすべてのソース レコードが削除されます。

しかし、ターゲットを削除してもソースが削除されるとは限らないというのが私の印象です。そして、それがコンテナーに残っていて、クライアントがそれをダウンロードし、どこかへの参照ポイントを期待しているのに、クライアントでサーバー データ ストアのスライスを構築するときにターゲットが存在しない場合は、非常に面倒ですか?

このケースをどのように扱いますか?そういう記録は無視ですか?または、定期的に CloudKit ストレージを調べて、破損したレコードを探して削除しますか?

または、レコードを削除する代わりに、削除された状態にある属性を設定し、データベースに保持する方がよいでしょうか?

4

2 に答える 2

0

CloudKit ダッシュボードを介して削除する場合は、レコード タイプを切り替えて参照の反対側を確認する前に待機する必要があります。削除が実際に行われる前に切り替えた可能性が高いです。[ネットワーク] タブで Safari の Web インスペクタを使用して、削除が実際にいつ終了したかを確認できます。複数のレコードを削除するには、非常に時間がかかります。

于 2016-04-05T13:44:36.353 に答える