我收到日历上的事件。我将它们保存在一个单独的数据库中,如果它们发生变化,我想更新它们。
我想为每个日历条目添加一个唯一的标识符。问题是重复发生的事件。似乎没有唯一的标识符。这就是我试图接受它的方式。
是否有日历项的唯一标识符或项的更改日志?

print(event.calendarItemIdentifier)
let eventK = event as! EKEvent
print("event \(getEventName(eventK)) identifie \(event.calendarItemIdentifier) external \(event.calendarItemExternalIdentifier)")
print(event as! EKCalendarItem );
print(eventK)

最佳答案

由于不熟悉swift,我不确定您获得的实际数据的格式。
不过,既然你提到icalendar,标准是RFC5545,它在§3.8.4.4一节中说明
3.8.4.4条。重复ID
属性名称:RECURRENCE-ID
用途:此属性与“UID”和
“序列”属性来标识
周期性“VEVENT”、“VTODO”或“VJOURNAL”日历组件。
属性值是“DTSTART”属性的原始值
重复实例的。
换句话说,要获取事件的唯一标识符,需要查找UID属性。
对于重复发生的事件,您需要查找RECURENCE-ID

关于swift - 唯一的日历条目标识符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35075133/

10-12 14:38
查看更多