我从应用程序中的 Web 服务获取事件,每个事件都有一个唯一标识符。
如果用户想将该事件推送到 native 日历,我将在 native 中保存该事件,但我如何知道该事件是否已存在于 native 日历中,因为我无法设置 EKEvent 对象的 eventIdentifier 属性
我尝试继承 EKEvent 并添加我自己的标识符
eventStore = [[EKEventStore alloc] init];
MyEvent *event = [MyEvent eventWithEventStore:eventStore];
event.myEventIdentifier = @"MyEventIdentifier";
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
event.startDate = [NSDate date];
event.endDate = [NSDate dateWithTimeIntervalSinceNow:10000];
event.title = @"MyEventTitle";
[eventStore saveEvent:event span:EKSpanThisEvent error:nil];
但是当我检索事件对象时,我没有得到我的子类对象,当我调用
时它抛出一个异常[event valueForKey:@"MyEventIdentifier"];
现在如您所见,我无法在 EKEvent 类中设置 eventIdentifier 属性,子类化 EKEvent 也不起作用。
我怎样才能实现所需的功能,有什么建议吗?
最佳答案
我正在研究 EKEvent 以寻找类似的东西,但 EKEvent 确实有一个您可以访问的标识符。
保存事件后,您可以访问其标识符,
NSString *eventID = [NSString stringWithFormat:@"%@", event.eventIdentifier];
保存这个字符串并用它来删除事件,但注意 event.eventIdentifier 是只读的,
关于ios - 如何在 iphone 日历中跟踪我的应用程序添加的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10880895/