アプリを Reminders.app と同期させたい。(私のアプリは Core Data を利用しています)
私はすでにプロトタイプを作成しており、動作していますが、考え抜くことができないバグがいくつかあります。
現在、私の同期アルゴリズムは次のようになっています。
1.EKEventStoreChangedNotification
通知を聞いて、呼び出されたら同期する
2.まず、ローカルのカレンダーを反復処理しています。それらが Reminders.app に存在しない場合は、追加しています。
Reminders.app でカレンダーを削除してアプリに追加すると、Reminders.app に再度追加されるため、これはかなり悪い設計です。カレンダーが削除されたかどうかを知る方がはるかに優れています。
3.次に、Reminders.app から各カレンダーを反復処理し、このカレンダーがローカル レコードに存在しない場合は、それらを local.app に追加します。存在する場合は、タイトルを更新しています。
4.すべてのリマインダーを取得していますEKEventStore
5.すべてのローカル リマインダーを反復処理しており、それらが Reminders.app に存在しない場合は追加しています。
再び削除の問題 - カレンダーの削除と同じ話。
6.すべての Reminders.app リマインダーを反復処理しています。それらがアプリに存在しない場合は、local.app に追加しています。それらが存在する場合は、すべての値を更新しています。
削除でこの問題にぶつかるまで、それはすべて問題ありません。EKObject
それには私を助けることができるいくつかの方法があることがわかりますが、それらを理解することはできません。これを適切に行うにはどうすればよいですか?最適化のためにできることはありますか?