2017-10-17 119 views
0

的價值,我不知道哪裏出了問題在這裏,無法將類型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 { 
+0

我收到錯誤:無法將類型URL.Type的值轉換爲預期的參數類型'URL' – Moran

回答

0

看這句話:

request as? URLRequest ?? URLRequest(url: URL) 

您正試圖創建的說法URLURLRequest。只是通過那裏真實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。它幾乎是一樣的。

相關問題