让我们考虑以下代码行:
reminder.calendar = appDelegate!.eventStore!.defaultCalendarForNewReminders()
这表示我将提醒放入默认设备的日历中。如何从代码创建自己的日历?
我想创建自己的原因是我希望有可能管理那里的所有提醒。
为特定类型创建新的EKCalendar
实例,分配标题和源并将其保存到数据库
let calendar = EKCalendar(for: .reminder, eventStore: eventStore)
calendar.title = "MyNewCalendar"
calendar.source = eventStore.defaultCalendarForNewReminders()?.source
do {
try eventStore.saveCalendar(calendar, commit: true)
} catch { print(error) }
检索提醒日历有点棘手
var myCalendar: EKCalendar?
let calendars = eventStore.calendars(for: .reminder)
if let filteredCalendar = calendars.first {$0.title == "MyNewCalendar"} {
myCalendar = filteredCalendar
} else {
print("count not find reminder calendar 'MyNewCalendar'")
}