기본 단위 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 에 대입하면 자동으로 뷰가 렌더링
'Mobile > Swift' 카테고리의 다른 글
View 에 관해 (0) | 2025.02.24 |
---|---|
List UI 앱 View간의 변수 연동 @Binding (0) | 2025.02.24 |
List UI @State 를 이용한 버튼 액션 보이기(onTabGesture, actionSheet, alert) (0) | 2025.02.24 |
List UI 앱 리팩토링(refactoring) (0) | 2025.02.24 |
List UI 앱 생성 (0) | 2025.02.23 |