我希望我的应用与 Reminders.app 同步。(我的应用程序使用核心数据)
我已经做了一个原型并且它可以工作,但是有一些我无法考虑的错误。
现在我的同步算法是这样的:
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
有一些方法可以帮助我,但我无法弄清楚。我该如何正确地做到这一点,我可以做些什么来优化?