Swift 3 和 EKEventStoreRequestAccessCompletionHandler 抛出异常

Swift 3 and EKEventStoreRequestAccessCompletionHandler throwing exception

我尝试使用以下代码请求访问日历:

EKEventStore().requestAccess(to: EKEntityType.event, completion: {
    (success: Bool, error: NSError!) in

    print("Got permission = \(success); error = \(error)")
 })

Xcode想加as! EKEventStoreRequestAccessCompletionHandler 因为它说

Cannot convet value of type (Bool, NSError!) ...".

但是当我添加这个时,应用程序崩溃并显示 EXC_BAD_INSTRUCTION 并且没有进一步的解释。有什么想法吗?

非常感谢

在 Swift 3 中,您需要使用 Error 而不是 NSError 查看 Apple documentation 了解更多详情。

EKEventStore().requestAccess(to: EKEntityType.event, completion: {
    (success: Bool, error: Error?) in  

    print("Got permission = \(success); error = \(error)")

})