如何包含手机中的所有日历?

时间:2017-05-25 17:32:04

标签: ios swift uitableview eventkit

我创建了一个应用程序,它通过EventKit获取所有日历事件,但我编写的代码仅适用于特定标题:

func readEvents() {


    let eventStore = EKEventStore()
    let calendars = eventStore.calendars(for: .event)
    for calendar in calendars {
       if calendar.title == "Work"{
            //let predicate = eventStore.predicateForReminders(in: [calendar])
            let oneMonthAgo = NSDate(timeIntervalSinceNow: -30*24*3600)
            let oneMonthAfter = NSDate(timeIntervalSinceNow: +30*24*3600)
            let predicate = eventStore.predicateForEvents(withStart: oneMonthAgo as Date, end: oneMonthAfter as Date, calendars: [calendar])

            var events = eventStore.events(matching: predicate)
            for event in events {

                titles.append(event.title)
                print([titles])
   }
  }
 }
}

这仅适用于“工作”日历中的事件,如何包括所有事件而不管日历?

3 个答案:

答案 0 :(得分:1)

您拥有calendars数组中的所有日历。在迭代中,您遍历所有但有条件只有在日历被称为工作时才能获得其他信息。删除if-statement,您将获得所有日历的信息。

答案 1 :(得分:0)

只需删除此部分吗?

if calendar.title == "Work"

答案 2 :(得分:0)

这些选项是否允许您选择要将事件添加到哪个日历,或者这会添加到所有日历?