URLSession
iOS 앱의 네트워크 통신을 위해 URLSession 을 사용한다. URLSession은 네트워크 요청과 응답을 처리하고 데이터를 전송하고 수신할 수 있도록 한다.
URLSession을 사용한 네트워크 요청
- URL 생성 : 요청할 리소스의 URL 생성
- URLRequest 생성 : URL을 기반으로 Request 객체를 생성하고, 필요에 따라 HTTP메서드, 헤더, 본문 등 추가한다.
- URLSession 객체 생성 : URLSession 객체를 생성하고 필요에 따라 URLSessionConfiguration를 구성한다
- URLSessionTask 생성 : URLSession 객체를 사용하여 SessionTask를 생성하고, 요청을 실행한다.
import UIKit
let movieURL = "<http://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?&targetDt=20210201&key=4dac74bd8e6513b08090c999c55a44ad>"
// 1. URL 구조체 만들기
let url = URL(string: movieURL)!
// 2. URLSession 만들기 (네트워킹을 하는 객체 - 브라우저 같은 역할)
// 3. 세션에 (일시정지 상태로)작업 부여
URLSession.shared.dataTask(with: url) { (data, response, error) in
// 에러가 발생하는지 먼저 확인
if error != nil {
print(error!)
return
}
guard let safeData = data else {
return
}
// 데이터를 그냥 한번 출력해보기
print(String(decoding: safeData, as: UTF8.self))
// dump(parseJSON1(safeData)!)
}.resume()
이렇게 설정하면 아래 사진과 같이 JSON 으로 데이터를 받을 수 있다
그 이후 이걸 우리가 사용할 수 있는 class 혹은 struct 로 변환하여 사용 하면 된다!
'◽️ Programming > UIKit' 카테고리의 다른 글
Singleton Pattern 이란 무엇일까? (0) | 2024.04.19 |
---|---|
TableView xib 사용해서 Cell 구성하기 (0) | 2024.04.11 |
CollectionView, Segment Control 개념정리 🧑🏻💻 (0) | 2024.04.02 |
iOS 네트워킹에 대한 이해 (1) (0) | 2024.03.31 |
UIKit 에서 UI 구성하는 두가지 방법의 장단점 (스토리보드 , 코드) (0) | 2024.03.28 |