如何从日历获取我的应用程序的事件?

时间:2018-08-07 06:21:54

标签: ios swift xcode8

我已使用EventKit将事件添加到日历中,并且可以从日历中获取所有事件,但是我只需要日历中的应用程序事件即可。所以现在我的问题是,我如何获取与我的应用程序相关的事件。

1 个答案:

答案 0 :(得分:0)

func getEvents() -> [EKEvent] {
    var allEvents: [EKEvent] = []

    // calendars
    let calendars = self.eventStore.calendars(for: .event)

    // iterate over all selected calendars
    for (_, calendar) in calendars.enumerated() where isCalendarSelected(calendar.calendarIdentifier) {

        // predicate for today (start to end)
        let predicate = self.eventStore.predicateForEvents(withStart: self.initialDates.first!, end: self.initialDates.last!, calendars: [calendar])

        let matchingEvents = self.eventStore.events(matching: predicate)

        // iterate through events
        for event in matchingEvents {
            allEvents.append(event)
        }
    }

    return allEvents
}

此代码将为您显示所有事件,然后您必须按标题或可以识别出此事件来自您应用程序的内容进行过滤:)