在Swift中创建日历

DCD*_*CDC 1 ios eventkit swift

让我们考虑以下代码行:

reminder.calendar = appDelegate!.eventStore!.defaultCalendarForNewReminders()
Run Code Online (Sandbox Code Playgroud)

这表示我将提醒放入默认设备的日历中.如何从代码创建自己的日历?

我想创建自己的原因是我希望有可能管理那里的所有提醒.

vad*_*ian 6

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) }
Run Code Online (Sandbox Code Playgroud)

检索提醒日历有点棘手

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'")
}
Run Code Online (Sandbox Code Playgroud)