在我的应用程序中,我试图获取在特定时间发生的所有事件。这是我的代码:
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)
}
这样做的问题是它只检索生日,而不检索用户创建的事件或当天的假期。 这是我得到的输出: 凯特贝尔诞辰 凯特贝尔诞辰 凯特贝尔诞辰 凯特贝尔诞辰 约翰·苹果籽诞辰 约翰·苹果籽诞辰 约翰·苹果籽诞辰 约翰·苹果籽诞辰 安娜哈罗诞辰 安娜哈罗诞辰 安娜哈罗诞辰 安娜哈罗诞辰 大卫泰勒诞辰 大卫泰勒诞辰 大卫泰勒诞辰 大卫·泰勒的生日
要从所有日历中获取事件,请将 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/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |