簡體   English   中英

iOS EKRecurrenceRule異常和編輯

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM