Swift - 从日历中检索所有事件并获取事件的参与

时间:2016-10-01 08:46:58

标签: ios swift calendar swift3 eventkit

在我的应用中,我试图获取在特定时间内发生的所有事件。这是我的代码:

    let store = EKEventStore()
    store.requestAccess(to: EKEntityType.event) { (granted, error) in
   if(granted){
      let calendars = store.calendars(for: EKEntityType.event)
      for calendar in calendars {
      let predicate = store.predicateForEvents(withStart: (dates.first?.dateObject)!, end: (dates.last?.dateObject)!, calendars: [calendar])

                store.enumerateEvents(matching: predicate){ (event, stop) in
                    print(event.title)

                }

            }

        }else{
        print(error)
        }

这个问题是它只检索生日,并且不会检索用户或当天假期创建的事件。 这是我得到的输出: 凯特贝尔的生日 凯特贝尔的生日 凯特贝尔的生日 凯特贝尔的生日 John Appleseed的生日 John Appleseed的生日 John Appleseed的生日 John Appleseed的生日 安娜哈罗的生日 安娜哈罗的生日 安娜哈罗的生日 安娜哈罗的生日 大卫泰勒的生日 大卫泰勒的生日 大卫泰勒的生日 大卫泰勒的生日

  • 所以我怎么能让它工作,所以我可以得到所有活动,包括用户在其日历上制作的活动。
  • 我怎样才能找回每个活动的参与者?

1 个答案:

答案 0 :(得分:0)

要从所有日历中获取事件,请将nil分配给实例方法predicateForEvents(withStart:end:calendars :)的calendars参数。

let predicate = store.predicateForEvents(withStart: (dates.first?.dateObject)!, end: (dates.last?.dateObject)!, calendars: nil)

https://developer.apple.com/documentation/eventkit/ekeventstore/1507479-predicateforevents