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})"
}
}
答案 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
)。