获取EKEvent的日历标题

时间:2017-04-19 17:37:37

标签: ios swift calendar

我从不同的日历中获取了一系列EKEvents。现在我想在tableView中显示事件+相应日历的名称。

cell.textLabel?.text = event.calendar.title

但是这总是返回一个空字符串(甚至不是nil,只是"")。 有没有办法访问随机EKEvent对象的相应日历的信息?

1 个答案:

答案 0 :(得分:2)

这将获得下一年的所有事件(大约),然后打印出事件标题和它所属的日历的标题:

    var allEvents: [EKEvent] = []

    let eventStore = EKEventStore()
    let calendars = eventStore.calendars(for: .event)

    for calendar in calendars {

        // end date (about) one year from now
        let endDate = Date(timeIntervalSinceNow: 60*60*24*365)

        let predicate = eventStore.predicateForEvents(withStart: Date(), end: endDate as Date, calendars: [calendar])

        let events = eventStore.events(matching: predicate)

        allEvents.append(contentsOf: events)

    }

    for event in allEvents {
        print(event.title, "in", event.calendar.title)
    }