在我的应用程序中,我试图获取在特定时间发生的所有事件。这是我的代码:
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)
}
这样做的问题是它只检索生日,而不检索用户创建的事件或当天的假期。
这是我得到的输出:
凯特贝尔诞辰
凯特贝尔诞辰
凯特贝尔诞辰
凯特贝尔诞辰
约翰·苹果籽诞辰
约翰·苹果籽诞辰
约翰·苹果籽诞辰
约翰·苹果籽诞辰
安娜哈罗诞辰
安娜哈罗诞辰
安娜哈罗诞辰
安娜哈罗诞辰
大卫泰勒诞辰
大卫泰勒诞辰
大卫泰勒诞辰
大卫·泰勒的生日
- 那么我怎样才能让它工作,以便我可以获取所有事件,包括用户在其日历上创建的事件。
- 我如何检索每个事件的参与者?
Best Answer-推荐答案 strong>
要从所有日历中获取事件,请将 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
关于ios - Swift - 从日历中检索所有事件并获取事件的参与,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/39804678/
|