* URLSession은 네트워크 데이터를 가져오거나 보내는 작업을 수행한다.
[ GET 예시 ]
// URLSession 인스턴스 생성
let session = URLSession.shared
// URL 생성
if let url = URL(string: "https://api.example.com/data") {
// URLSessionDataTask를 사용해 비동기적으로 데이터 요청
let task = session.dataTask(with: url) { (data,response,error) in
if let error = error {
print("Error: \(error)")
} else if let data = data {
// 데이터 받아온 후 처리하는 로직
print("Received data: \(data)")
}
}
// 네트워크 요청 시작
task.resume()
}
[ URLRequest를 사용한 POST 예시 ]
// URLSession 인스턴스 생성
let session = URLSession.shared
// URL 생성
if let url = URL(string: "https://api.example.com/data") {
// URLRequest 생성
var request = URLRequest(url: url)
// HTTP 메서드 설정
request.httpMethod = "POST"
// HTTP 헤더 설정
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
// HTTP Body에 보낼 데이터 설정(JSON 형식)
let parameters: [String: String] = [
"value1": "example value",
"value2": "example value"
]
// HTTP Body에 JSON 데이터 설정
request.httpBody = try? JSONEncoder().encode(parameters)
// URLSessionDataTask를 사용해 비동기적으로 데이터 요청
let task = session.dataTask(with: url) { (data, response, error) in
if let error = error {
print("Error: \(error)")
} else if let data = data {
// 데이터 받아온 후 처리하는 로직
print("Received data: \(data)")
}
}
// 네트워크 요청 시작
task.resume()
}