Swift2 无法转换类型为';(NSURLResponse!、NSData!、NSError!)-Void';到预期的参数类型';(NSURLResponse?、NSData?、NSError?->;无效';

Swift2 无法转换类型为';(NSURLResponse!、NSData!、NSError!)-Void';到预期的参数类型';(NSURLResponse?、NSData?、NSError?->;无效';,swift2,Swift2,我试图在Swift 2.2中处理一个已完成的URL请求并检查错误,但下面代码中以completionHandler:{(response:NSURLResponse…开头的行引发了错误: 无法将类型为“(NSURLREsponse!、NSData!、NSError!)-Void”的值转换为预期的参数类型“(NSURLREsponse?、NSData?、NSError?)->Void” 我怀疑我需要使用一种“尝试捕捉”,但我不确定是否有更简单的方法 NSURLConnection.sendAsyn

我试图在Swift 2.2中处理一个已完成的URL请求并检查错误,但下面代码中以
completionHandler:{(response:NSURLResponse…
开头的行引发了错误:

无法将类型为“(NSURLREsponse!、NSData!、NSError!)-Void”的值转换为预期的参数类型“(NSURLREsponse?、NSData?、NSError?)->Void”

我怀疑我需要使用一种“尝试捕捉”,但我不确定是否有更简单的方法

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
}

您的闭包签名必须与

NSURLConnection.sendAsynchronousRequest()
如错误消息所示,对其进行定义:

completionHandler: {(response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in ...

您的闭包签名必须与

NSURLConnection.sendAsynchronousRequest()
如错误消息所示,对其进行定义:

completionHandler: {(response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in ...

工作得很好。谢谢拉斯穆斯,你摇滚!我会提高投票率,但我没有15级的声望是的,你不会碰巧知道他们从爆炸变为爆炸的原因吧!在Swift 1中?在Swift 2中是吗?不,但也许你应该看看这个:工作得很好。谢谢拉斯穆斯,你摇滚!我会提高投票率,但我没有15级的声望是的,你不会碰巧知道他们从霹雳一号变为二号的原因是什么吧?不,但也许你应该看看这个: