[英]iOS EKRecurrenceRule exceptions and edits
我需要將在iOS應用中創建的日程表與手機的日歷同步,許多都是重復發生的事件。
使用EKRecurrenceRule
實現某些功能非常容易,但是iOS日歷如何處理重復系列中的單個事件的移動或刪除?
創建事件時,會為其提供一個ID。 您可以通過使用EKRecurrenceRule
對象來創建重復(如您所知),但是所有事件的ID均相同。 然后,您可以像這樣刪除單個事件:
func deleteEvent(eventIdentifier: String) -> Bool {
var successful = false
let eventToRemove = self.eventStore.eventWithIdentifier(eventIdentifier)
if (eventToRemove != nil) {
do {
print("deleting single event")
try self.eventStore.removeEvent(eventToRemove!, span: .ThisEvent)
successful = true
} catch {
print("Bad things happened")
}
}
else
{
print("no event with the identifier")
}
return successful
}
或者,您可以刪除所有此類事件:
func deleteFutureEvents(eventIdentifier: String) -> Bool {
var successful = false
let eventToRemove = self.eventStore.eventWithIdentifier(eventIdentifier)
if (eventToRemove != nil) {
do {
print("deleting future events")
try self.eventStore.removeEvent(eventToRemove!, span: .FutureEvents)
successful = true
} catch {
print("Bad things happened")
}
}
else
{
print("no event with the identifier")
}
return successful
}
您可以使用事件ID以類似的方式更新單個或所有事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.