[swift] 서버와의 연결 요청 및 응답 데이터 처리 방법

앱이 서버와 통신해야 하는 경우, 네트워크 요청을 보내고 받은 응답을 처리해야 합니다. 이를 위해 Swift에서는 URLSession을 사용하여 간단하게 서버와의 통신을 구현할 수 있습니다.

서버와의 연결

서버와의 연결을 수행하기 위해서는 URLSession 객체를 생성하고 URLSessionDataTask를 사용하여 요청을 보내야 합니다. 아래는 간단한 GET 요청 예제입니다.

if let url = URL(string: "https://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 {
            // 받은 데이터 처리
        }
    }
    task.resume()
}

위의 예제에서는 URL(string:)으로 URL 객체를 생성하고, dataTask(with:completionHandler:) 메서드를 사용하여 서버에 GET 요청을 보냈습니다. 응답은 클로저를 통해 처리합니다.

응답 데이터 처리

서버로부터 받은 응답 데이터를 처리하기 위해서는 클로저 내부에서 이를 처리해야 합니다. 서버로부터 받은 데이터는 보통 JSON 형식으로 오는데, 이를 파싱하여 앱에서 사용하기 적합한 형태로 변환해야 합니다.

if let data = data {
    do {
        let json = try JSONSerialization.jsonObject(with: data, options: [])
        if let dictionary = json as? [String: Any] {
            // JSON 데이터 처리
        }
    } catch {
        print("Error parsing JSON: \(error)")
    }
}

위의 예제에서는 JSONSerialization을 사용하여 받은 데이터를 JSON으로 파싱한 후, 필요한 데이터를 추출하고 처리합니다.

서버와의 연결 및 데이터 처리는 앱 개발에서 매우 중요한 부분이므로 신중하게 다루어져야 합니다. 유효한 URL 및 안전한 통신을 위해 HTTPS를 사용하는 것도 중요합니다.

서버와의 통신은 보안과 성능 측면에서 신중하게 다뤄져야 하며, 네트워크 요청에 대한 오류 처리와 사용자 경험 개선에 주의를 기울여야 합니다.

참고 자료