2016-12-01 84 views
3

請注意,我已經嘗試了很多像this這樣的解決方案,但都沒有工作。無法用類型爲'(configuration:URLSessionConfiguration)'的參數列表調用'URLSession''

這裏是screenshot和代碼;

func downloadItems() { 

    let urlE: String = "http://alicelik.me/forios/service.php" 
    guard let url = URL(string: urlE) else { 
     print("Error: cannot") 
     return 
    } 

    let configuration = URLSessionConfiguration.default 
    var session = URLSession(configuration: configuration) 

    let task = session.dataTask(with: url as URL){ 
     (data, response, error) in 
     guard error == nil else { 
      print("error calling GET on /todos/1") 
      print(error) 
     } 
     return() 
    } 

    task.resume() 

} 

這裏是URLSession func;

@nonobjc func URLSession(session: URLSessionConfiguration, dataTask: URLSessionDataTask, didReceiveData data: NSData) { 
    self.data.append(data as Data); 

} 

@nonobjc func URLSession(session: URLSessionConfiguration, task: URLSessionTask, didCompleteWithError error: NSError?) { 
    if error != nil { 
     print("Failed to download data") 
    }else { 
     print("Data downloaded") 
     self.parseJSON() 
    } 

} 

注:* URLSession和* URLSessionConfiguration在FUNC URLSession(會話*)給予同樣的錯誤。

+0

它在我的Xcode上工作得很好! –

+0

嘗試使用新的func代碼。它會告訴你現在錯誤。我先忘了。 – Ali

+0

它不應該防範**讓**錯誤? – Honey

回答

0

更改URLSession FUNC會解決問題。

func downloadItems() { 
    let url: NSURL = NSURL(string: urlPath)! 
    var session = URLSession() 
    let configuration = URLSessionConfiguration.default 
    session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil) 
    let task = session.dataTask(with: url as URL) 
    task.resume() 
} 

func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) { 
    self.data.append(data as Data) 
} 

func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { 
    if error != nil { 
     print("Failed to download data") 
    } else { 
     print("Data downloaded") 
     self.parseJSON() 
    } 
} 
3

我有同樣的問題,解決它由:

var session = Foundation.URLSession(configuration: configuration)

+0

更改['NSURLSession'與'URLSession']和['URLSession'與'urlSession']效果很好。 – Ali

+0

爲什麼我需要指定Foundation以使其工作?它確實,但我不知道爲什麼。 – Scooter

+0

所以有線,但工作。 THX〜 – Jerome

相關問題