2011-08-31 50 views
0

我正在开发将事件写入到用户的手机上的日历应用程序。我正在考虑在我的应用程序的事件之前添加一个像myapp这样的前缀:这样我就可以在事件存储中查找我的事件以显示在桌面视图中。EventKit谓词的选择

但是,当我查看ios eventkit framework时,似乎唯一可用的谓词基于开始日期和结束日期( - predicateForEventsWithStartDate:endDate:日历:)。我读的是对的吗?

我应该再建立在手机上的只是我的应用程序日历或有另一种方式来识别日期旁边我的事件?

在此先感谢。其他

回答

0

一种选择是有本地存储(sqlite的,coredata等),其索引到事件。每个事件都有作为事件ID,您可以通过eventWithIdentifier从商店中检索事件。

不知道你的数据访问模式是什么,但也可以让你快速存储你的应用程序中的数据,你可以effieciently查询(具有强大的谓词和SQL语法)。您的本地结果可能只是返回eventIds,并在表视图回调中获得该行的id并从事件存储中检索。

只是另一种选择...

+0

嘿,这是一个好主意,我不知道我可以做到这一点。为了确保我明白,当我创建一个事件时,我还捕获事件ID,然后将其存储在实体中的核心数据存储中。然后,根据我从我的核心数据实体中获取的这些事件ID,从事件存储库中拉出? – Jazzmine

+0

这是基本的想法。在该方案中,您必须决定谁是数据的主人,并担心不同步的数据。我会建议查询返回id,然后从事件存储中获取显示的数据。你也可以有一个回退策略,甚至可以选择检测它丢失并推回到事件存储区(抱歉,不知道你的应用很多)。如果是这样的话,您还可以将数据存储在允许查询丰富的数据库中,但是您更愿意显示事件存储中的数据。多一点工作,但更强大。你也可以重新填充日历等... – bryanmac

+0

非常感谢,这是一种创新的方法。 – Jazzmine