[swift] 네트워크 통신 구현하기 (URLSession)

네트워크 통신은 iOS 앱 개발에서 중요한 부분입니다. URLSession을 사용하여 네트워크 통신을 구현하는 방법을 알아보겠습니다.

URLSession이란?

URLSession은 기본적으로 네트워크 통신을 수행하는 객체입니다. 데이터를 다운로드하거나 업로드하고, 백그라운드에서 작업을 수행할 수 있습니다.

기본적인 GET 요청 구현하기

let url = URL(string: "https://api.example.com/data")!

let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
    if let error = error {
        print("Error: \(error)")
    } else if let data = data {
        let responseString = String(data: data, encoding: .utf8)
        print("Response: \(responseString)")
    }
}

task.resume()

위의 코드는 URLSession을 사용하여 GET 요청을 수행하는 예제입니다. URL(string:)을 사용하여 URL을 생성하고, dataTask(with:) 메서드를 사용하여 요청을 보냅니다. 클로저를 통해 응답을 처리합니다.

POST 요청 구현하기

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.httpBody = "username=test&password=123".data(using: .utf8)

let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
    // handle response
}

task.resume()

POST 요청을 구현하기 위해서는 URLRequest 객체를 사용하여 요청을 구성해야 합니다. httpMethod를 설정하여 POST 요청임을 명시하고, httpBody에는 전송할 데이터를 설정합니다.

참고 자료

네트워크 통신 구현에 대한 더 자세한 내용은 Apple의 공식 문서를 참고하시기 바랍니다.