SwiftUI로 코로나 현황 앱 만들기 Part 8 - CountryDetailView
튜토리얼 Part 8에서는 CountriesView에서 CountryDetailView로 이동할 수 있도록 내비게이션 기능을 추가하고, MapKit, GeometryReader, LazyVGrid 등을 활용하여 CountryDetailView 화면을 구성한다.
튜토리얼 Part 8에서는 CountriesView에서 CountryDetailView로 이동할 수 있도록 내비게이션 기능을 추가하고, MapKit, GeometryReader, LazyVGrid 등을 활용하여 CountryDetailView 화면을 구성한다.
Github Pages를 통해 블로그를 호스팅 하던 중 Google Search Console이 제대로 작동하지 않아 Route 53으로 도메인을 구입하고 AWS S3로 블로그를 이전했다.
튜토리얼 Part 7에서는 CountriesListRow를 별도의 타입으로 정의하여 List의 줄을 표현하고, 그 과정에서 AsyncImage를 사용하여 네트워크에서 다운로드한 이미지를 화면에 표시한다. 그리고 List의 데이터를 유저가 검색할 수 있도록 내비게이션 바에 검색 기능을 추가하는 것도 다룬다.
튜토리얼 Part 6에서는 Generics를 사용하여 네트워킹 코드를 재사용 가능하도록 수정하고, CountriesView에서 List와 ForEach 타입을 사용하여 동적인 리스트를 만드는 것을 다룬다.
튜토리얼 Part 5에서는 SwiftUI의 View 프로토콜과 다양한 뷰를 활용하여 WorldwideView를 만든다. 이 과정에서 NavigationView와 정적인 List도 다룬다.
튜토리얼 Part 4에서는 MVVM 디자인 패턴에 대해 알아보고, 이 패턴으로 앱을 구성하기 위해 WorldwideViewModel을 만들고 뷰 모델과 뷰를 어떻게 연결하는지 다룬다.
Part 3에서는 separation of concerns 원칙에 따라 URL과 네트워킹 코드를 리팩토링하고, Swift의 Codable 프로토콜과 JSONDecoder 오브젝트를 이용하여 네트워크로 다운로드한 데이터를 앱 내의 타입으로 변환하는 디코딩하는 코드를 작성한다.
Part 2에서는 네트워크를 통해 데이터를 다운로드 해본다. 이를 위해 먼저 URL에 대해 알아보고, 멀티스레딩을 위해 concurrency 개념과 Swift에서 concurrency가 어떻게 사용되는지, 그리고 URLSession의 메소드를 이용하여 API를 통해 실제로 데이터를 다운로드한다.
SwiftUI로 코로나 현황을 표시하는 앱을 만드는 튜토리얼을 시작한다. 그 첫 번째로 Xcode에서 새로운 프로젝트를 생성하고, 시뮬레이터 및 SwiftUI 프리뷰를 사용해 보며, 마지막으로 데이터 모델을 정의한다.
글쓰기 연습을 위해 새롭게 블로그를 시작한다. 블로그를 시작하게 된 계기와 블로그는 어떻게 제작하고 호스팅했는지, 앞으로 어떤 글을 쓸지 등을 이야기한다.