我正在尝试在Swift 2.2中处理已完成的URL请求并检查错误,但下面代码中以completionHandler:{(response: NSURLResponse...
开头的行正在抛出错误:
无法将类型'(NSURLREsponse!,NSData!,NSError!) - Void'的值转换为预期的参数类型'(NSURLResponse?,NSData?,NSError?) - >无效”。
我怀疑我需要使用do-try-catch但是我不确定是否有更简单的方法。
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue(),
completionHandler: {
(response: NSURLResponse!, data: NSData!, error: NSError!) - > Void in
if error == nil {
var image = UIImage(data: data)
dispatch_async(dispatch_get_main_queue(), {
cell.selfieImgView.image = image
})
} else {
print("Error: \(error.localizedDescription)")
}
})
return cell
}
答案 0 :(得分:5)
您的封闭签名必须与
期望的签名相匹配NSURLConnection.sendAsynchronousRequest()
将其定义为错误消息建议:
completionHandler: {(response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in ...