[英]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.