URLSession
let task = URLSession.shared.dataTask(with:request) {
(data, response, error) in // 결과 처리
}
task.resume()
간혹 URLSessionDelegate를 설정하고 받아서 처리해야 할때가 있다.
let session = URLSession(configuration: .default, delegate: self, delegateQueue: OperationQueue.main) et task = session.dataTask(with:request) {
(data, response, error) in // 결과 처리
}
task.resume()
하지만 이때 일회성으로 사용할때에는
.default
가 아니라
.ephemeral
로 해줘야 한다.
let session = URLSession(configuration: .ephemeral, delegate: self, delegateQueue: OperationQueue.main)
또는 처리 후에 세션에 대해
finishTasksAndInvalidate()
을 직접 호출해줘야 한다.
session.finishTasksAndInvalidate()