2

を使用せずに、最近削除されたアイテム (おそらく特定のタイムスタンプから) を CloudKit にクエリする方法はありますCKFetchRecordChangesOperationか? 私はパブリック データベースを使用しているため、カスタム ゾーンを使用できません (これは の要件になりますCKFetchRecordChangesOperation) ... そのため、パブリック データベースでこれをシミュレートする方法が必要です。

CloudKit レコードの変更について、ローカルの Core Data キャッシュを効率的に更新できるようにしたいと考えています。CloudKit レコードを照会すると、CKRecord にはcreationDateandmodificationDateプロパティがあり、最近作成または変更されたレコードを照会できますが、CloudKit で削除されたレコードでは機能しません。

ここで効果的な戦略は何でしょうか?

4

2 に答える 2

1

私が考えた 1 つの解決策は、CKRecord で「deletedDate」プロパティを維持することです。そのため、データが「削除」された場合、CloudKit からレコードを実際に削除するのではなく、このプロパティを更新するだけです。これにより、他のデバイスが最近削除されたレコードを照会できるようになるため、ローカル キャッシュを更新できます。また、deletedDate が 1 週間以上経過しているレコードを定期的にチェックし、その時点で実際にレコードを削除することもできます (ただし、複数のデバイスが同時にレコードを削除することや、その他のエッジ ケースに注意する必要があります)。最もエレガントなソリューションではありませんが、機能する可能性があります。より良いオプションがある場合は、それを聞きたいです。

于 2016-03-31T05:15:20.260 に答える