Mobile/Swift

JSON 데이터 보여주기

꼰대코더 2025. 3. 4. 15:18

기본 단위 JSON 구조체는 Result 이고 이를 배열로 가지고 있는 구조체로 Response 를 선언 

Line 21 : 초기값없는 빈(=()) Result 배열 변수 선언

Line 34 : .task 는 뷰가 표시되기 전에 딱 한번만 실행되기 된다. 이때 loadData() 를 호출한다.

                비동기처리 async await 페어로 사용하며 loadData() 함수에 async를 선언하여 호출측은 await로 대기

Line 40 : guard let 은 if 문 대신에 쓰이는 것으로 else 부분을 먼저 처리하는 효과를 가진다. url 이 nil 이라면 else 처리

Line 45 : 예외처리 do {  } catch { }

Line 46 : URLSession.shared.data(url)은 tuple(JSON데이터, 메타데이터)를 리턴한다. 

Line 47 : JSONDecoder().decode() 로 data 를 Response struct 형으로 디코딩 변환

Line 48 : 디코딩된 [Result] 를 @State results 에 대입하면 자동으로 뷰가 렌더링