无法将类型URL.Type预期参数类型“URL”
问题描述:
的价值,我不知道哪里出了问题在这里,无法将类型URL.Type预期参数类型“URL”
//现在实际发送请求到服务器。
NSURLConnection.sendAsynchronousRequest(request as? URLRequest ?? URLRequest(url: URL), queue: OperationQueue.main, completionHandler: {(_ response: URLResponse, _ data: Data, _ connectionError: Error?) -> Void in
var resultText: String? = nil
if connectionError != nil {
resultText = "** ERROR = \(connectionError)"
print("**Error \(unsuccessLabel.text)")
uploadPleaseWaitLabel.hidden = true
//****** 12-17
unsuccessLabel.hidden = false
//****** 12-17
sessionUploadedYorN = "N"
self.useDocument()
}
else {
答
看这句话:
request as? URLRequest ?? URLRequest(url: URL)
您正试图创建的说法URL
的URLRequest
。只是通过那里真实URL
实例,而不是URL
类型。
可能的解决办法:
let actualRequest = request as? URLRequest ?? URLRequest(url: URL(string:"http://www.google.com")!)
NSURLConnection.sendAsynchronousRequest(actualRequest,
queue: OperationQueue.main,
completionHandler:
{ (_ response: URLResponse, _ data: Data, _ connectionError: Error?) -> Void in
var resultText: String? = nil
if connectionError != nil {
resultText = "** ERROR = \(connectionError)"
print("**Error \(unsuccessLabel.text)")
uploadPleaseWaitLabel.hidden = true
//****** 12-17
unsuccessLabel.hidden = false
//****** 12-17
sessionUploadedYorN = "N"
self.useDocument()
}
UPDATE
由于Swift4的,你的代码甚至不会与修复编译(有接线盒中的签名问题)。更重要的是,NSURLConnection
自iOS9开始不推荐使用,不鼓励使用。 您应该重构您的代码以使用Swift本机URLSession
及其实例方法dataTask
。它几乎是一样的。
我收到错误:无法将类型URL.Type的值转换为预期的参数类型'URL' – Moran