【发布时间】:2013-05-12 14:19:10
【问题描述】:
我希望我的应用与 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 有一些方法可以帮助我,但我想不通。我该如何正确地做到这一点,我可以做些什么来优化?
【问题讨论】:
标签: iphone cocoa-touch cocoa eventkit ekeventkit