.DeleteSelf は実際にどのように機能しますか? ドキュメントは次のように述べています。
参照オブジェクトのアクションが CKReferenceActionDeleteSelf に設定されている場合、参照のターゲット (つまり、参照の recordID プロパティに格納されているレコード) がソース レコードの所有者になります。ターゲット (所有者) レコードを削除すると、そのすべてのソース レコードが削除されます。
しかし、ターゲットを削除してもソースが削除されるとは限らないというのが私の印象です。そして、それがコンテナーに残っていて、クライアントがそれをダウンロードし、どこかへの参照ポイントを期待しているのに、クライアントでサーバー データ ストアのスライスを構築するときにターゲットが存在しない場合は、非常に面倒ですか?
このケースをどのように扱いますか?そういう記録は無視ですか?または、定期的に CloudKit ストレージを調べて、破損したレコードを探して削除しますか?
または、レコードを削除する代わりに、削除された状態にある属性を設定し、データベースに保持する方がよいでしょうか?