Ios UnuseNotificationCenterDelegate委托方法“;几乎符合可选要求”;

Ios UnuseNotificationCenterDelegate委托方法“;几乎符合可选要求”;,ios,swift,usernotifications,Ios,Swift,Usernotifications,我正在实施 func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: () -> Void) { 但是我从编译器那里得到了“几乎匹配可选要求”的警告。我的申报有什么问题?我从文档中直接复制了它 这是@escaping属性。文档中没

我正在实施

func userNotificationCenter(_ center: UNUserNotificationCenter, 
    didReceive response: UNNotificationResponse, 
    withCompletionHandler completionHandler: () -> Void) {

但是我从编译器那里得到了“几乎匹配可选要求”的警告。我的申报有什么问题?我从文档中直接复制了它

这是
@escaping
属性。文档中没有显示它。但它显示在标题中。那是复印的地方!以下是正确的声明:

func userNotificationCenter(_ center: UNUserNotificationCenter, 
    didReceive response: UNNotificationResponse, 
    withCompletionHandler completionHandler: @escaping () -> Void) {
从以下注释中复制:
@escaping
表示“此关闭可能稍后执行”。编译器可以很容易地优化非转义闭包,这些闭包通常用于map、filter等,swift3将其设置为默认值。所有的完成处理程序都是在某个任务完成时执行的——稍后,所以我们需要在Swift 3中为所有的完成处理程序注释@escaping