[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