我不明白这里出了什么问题,
//现在实际将请求发送到服务器。
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 {
答案 0 :(得分:0)
看看这一行:
request as? URLRequest ?? URLRequest(url: URL)
您正在尝试使用参数URLRequest
创建URL
。只需传递真实的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()
}
<强>更新强>
从Swift4开始,即使使用该修复程序,您的代码也无法编译(在闭包中存在签名问题)。除此之外,{iOS}自iOS9以来已被弃用,不鼓励使用。NSURLConnection
。
您应该重构代码以与Swift-native URLSession
及其dataTask
实例方法一起使用。它几乎一样。