swift 创建EKCalendar

92dk7w1h  于 11个月前  发布在  Swift
关注(0)|答案(1)|浏览(127)

我在Swift程序中创建新日历时遇到了一些问题。这段代码几乎可以完美地工作:

func createNewCalendar(withName name: String) {
    let eventStore = EKEventStore()
    let calendar = EKCalendar(for: .event, eventStore: eventStore)
    calendar.title = name
    calendar.cgColor = UIColor.purple.cgColor
    guard let source = eventStore.defaultCalendarForNewEvents?.source else {
        return
    }
    
    calendar.source = source
    try! eventStore.saveCalendar(calendar, commit: true)
}

字符串
但是在一些罕见的情况下,它在模拟器中失败了。在这种情况下,eventStore.defaultCalendarForNewEventsnilguard-命令正确地检测到这个错误情况,并且该方法退出而不创建新的日历。
我试图找出正确的方法来处理这种情况。不幸的是,我没能在苹果开发者部分找到推荐。
那么,为新创建的EKCalendar示例创建一个新的源代码的正确代码片段是什么呢?

ibps3vxo

ibps3vxo1#

默认值是可选的,所以如果没有,那么你可以选择其他方式。
(Keep记住,首选项实际上是关于“新事件”,而不是创建日历的位置。
如果有一个来源,我认为你可以根据情况在其中创建。
如果有几个,你可以选择,与明显的风险。
在我看来,代码应该做好当所有合理的选择都用尽时失败的准备。

相关问题