[iOS] URLSession
DataTask
(1.) Closure
let url = URL(string: "http://opendata2.epa.gov.tw/UV/UV.json")
if let url = url {
let request = URLRequest(url: url)
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
//Do something...
}
task.resume()
}(2.) Delegate
//session
URLSession(configuration: sessionConfiguration, delegate: self, delegateQueue: nil)
//create Task
let task = session?.dataTask(with: request as URLRequest)
//delegate
extension FCNetworkManager: URLSessionTaskDelegate {
// DataTask 完成時
public func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
//Do something...
}
}
extension FCNetworkManager: URLSessionDataDelegate {
//appendData
public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
//appendData
// receivedData!.append(data as Data)
}
}DownloadTask
(1.) Closure
(2.) Delegate
UploadTask
(1.) Closure
(2.) Delegate
Last updated