如何包含我的 phone 中的所有日历?
How can I include all the calendars from my phone?
我制作了一个通过 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])
}
}
}
}
这仅适用于 "work" 日历中的事件,我怎样才能包括所有事件而不考虑日历?
只删除这部分?
if calendar.title == "Work"
您的所有日历都在 calendars
数组中。在迭代中,您遍历所有但有一个条件,即如果日历被称为 Work,则仅获取附加信息。删除 if-statement
,您将获得所有日历的信息。
这些选项是否可以让您select将活动添加到哪个日历,还是添加到所有日历?
我制作了一个通过 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])
}
}
}
}
这仅适用于 "work" 日历中的事件,我怎样才能包括所有事件而不考虑日历?
只删除这部分?
if calendar.title == "Work"
您的所有日历都在 calendars
数组中。在迭代中,您遍历所有但有一个条件,即如果日历被称为 Work,则仅获取附加信息。删除 if-statement
,您将获得所有日历的信息。
这些选项是否可以让您select将活动添加到哪个日历,还是添加到所有日历?