首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone日历EKEvent

iPhone日历EKEvent
EN

Stack Overflow用户
提问于 2012-07-19 01:25:15
回答 1查看 2.8K关注 0票数 1

我目前正在尝试创建一个iPhone日历应用程序。为了确保它与现有的iPhone日历同步,我使用了EKEvent工具包。

然而,我将存储的事件将具有比EKEvent允许的属性更多的属性-例如,我的事件将不仅具有标题、详细信息和其他几个允许的类别;它们还将具有主题、优先级……

因此,当我在每次启动日历时加载EKEventStore时,这些信息将不会包含在加载的EKEvents中。

如何将此信息与现有EKEvents相关联,以便每当加载日历时,也会加载这些附加属性?

我会使用eventIdentifier,但是iPhone文档说“如果事件的日历改变了,那么它的标识符很可能也会改变”。如果我没看错的话,这意味着我不能一直使用eventIdentifier来识别事件。

EN

回答 1

Stack Overflow用户

发布于 2012-11-12 06:24:13

我将使用notes属性并设置一个字符串,您可以稍后对其进行解析。因为EKCalendarItem是EKEvent的超类,所以EKEvent的一些属性是从EKCalendarItem继承的。(documentation here)

然而,即使笔记不再是EKEvent的属性,你仍然可以在EKEvent上“设置”笔记。(想像一下)

因此,根据您的问题,我可能会为您的每个附加(自定义)属性设置一个整数,如下所示。

在创建事件的视图控制器代码中:-为每个自定义选项设置一个整数。(优先级、主题等)

int优先级= 0;

代码语言:javascript
复制
    EKEvent *newEvent = [EKEvent eventWithEventStore:yourEventStore];

    [newEvent setCalendar:yourCalendar];

    if (priority == 0) {
        newEvent.notes = @"0"
    }

    newEvent.title = @"YourTitle";
    newEvent.startDate = yourStartDate;
    newEvent.endDate = yourEndDate;

    [youreventStore saveEvent:newEvent span:EKSpanThisEvent commit:YES error:nil];

然后,如果您想要检查/转换自定义属性,只需在每次使用characterAtIndex或从注释中创建subString并将其与另一个字符串进行比较时检查事件的注释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11546959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档