2017-10-17 2 views
0

에 형 URL.Type의 값을 변환 할 수 없습니다. 이 라인에서는</p> <p>// 이제 실제로 서버에 요청을 보내, 내가 이상 여기에 무엇이 잘못되었는지 이해하지 예상 인수 유형 '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 유형 값을 예상되는 인수 유형 'URL'으로 변환 할 수 없습니다. – Moran

답변

0

봐 : 당신은 인수 URLURLRequest을 만들려고하는

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

. 실제 URL 인스턴스 만 전달하고 URL 유형은 전달하지 않습니다.

가능한 해결 방법 :

이 Swift4로, 코드도 그 수정과 컴파일하지 않을

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 (폐쇄 내에서 서명 문제가 있습니다). 그 이상으로, NSURLConnection은 iOS9부터 사용되지 않으므로 사용하지 않는 것이 좋습니다. Swift-native URLSessiondataTask 인스턴스 메소드에서 사용할 코드를 리팩터링해야합니다. 그것은 사실상 동일합니다.