【问题标题】:UNUserNotificationCenterDelegate delegate method "nearly matches optional requirement"UNUserNotificationCenterDelegate 委托方法“几乎符合可选要求”
【发布时间】:2016-09-15 16:18:55
【问题描述】:

我正在实施

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

但是我收到了来自编译器的“几乎匹配可选要求”警告。我的声明有什么问题?我直接从文档中复制了它!

【问题讨论】:

    标签: ios swift usernotifications


    【解决方案1】:

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

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

    【讨论】:

    • here的cmets中复制的:@escaping的意思是“这个闭包可以稍后执行”。编译器可以轻松优化映射、过滤器等常用的非转义闭包,Swift 3 已将其设为默认值。当某个任务完成时,所有的完成处理程序都会被执行——稍后,所以我们需要为 Swift 3 中的所有完成处理程序注解 @escaping
    猜你喜欢
    • 2018-06-27
    • 2016-12-22
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多