繁体   English   中英

iPhone日历EKEvent

[英]iPhone calendar EKEvent

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

但是,我将要存储的事件将具有比EKEvent允许的事件更多的属性,例如,我的事件将不仅具有标题,详细信息和其他允许的少数类别。 他们还将有主题,优先事项...

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

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

我将使用eventIdentifier但iPhone文档说:“如果事件的日历发生更改,则其标识符很可能也会更改。” 如果我正确地阅读了此内容,则意味着我无法始终使用eventIdentifier来标识事件。

我将使用notes属性并设置一个字符串,以便以后解析。 由于EKCalendarItem是EKEvent的超类的一些属性EKEvent从继承EKCalendarItem 此处的文档

但是,即使注释不再是EKEvent的属性,您仍然可以在EKEvent上“设置”注释。 (去搞清楚)

因此,从您的问题出发,我可能会为每个其他(自定义)属性设置一个整数,如下所示。

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

int优先级= 0;

    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并将其与另一个字符串进行比较时,就检查事件的注释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM