如何将这些打印文本放入Textfield?

时间:2018-01-13 10:26:14

标签: ios11 swift4 xcode9

UNUserNotificationCenter.current().getPendingNotificationRequests {

    DispatchQueue.main.async{//Contextual closure type '() -> Void' expects 0 arguments, but 1 was used in closure body
     let str:String = ""
     self.finalresulter.text = str
     self.finalresulter.text = "\($0.map{$0.content.title})"
     }
    }

1 个答案:

答案 0 :(得分:0)

您在$0封闭内使用async { }。此闭包不需要参数,这意味着使用$0参数快捷方式无效。

您显然是在尝试从requests回调中引用getPendingNotificationRequests数组。您无法使用$0的原因是它被DispatchQueue.main.async{ ... }闭包筛选而没有参数:

试试这个:

    UNUserNotificationCenter.current().getPendingNotificationRequests { requests in
        DispatchQueue.main.async{
            let str:String = ""
            self.finalresulter.text = str
            self.finalresulter.text = "\(requests.map{$0.content.title})"
        }
    }

$0的规则声称 $0始终引用当前范围。因此,要从嵌套闭包访问闭包参数,必须在上面的代码中命名该参数(requests)。