목록SwiftUI (51)
기어가더라도 제대로

Image() 로 Assets 에 있는 로컬 이미지를 다룰 수 있는 것과 같이 원격지에 있는 이미지를 다룰 수 있는 뷰 둘의 차이 AsyncImage는 비동기적으로 뷰를 업데이트 한다 AsyncImage는 컴파일 타임에는 이미지의 정확한 크기를 모른다. 여기서 발생하는 차이를 이용해서 뷰를 그려보기 AsyncImage 기본 사용법 AsyncImage(url: URL(string: "https://hws.dev/img/logo.png")) 기본적으로 화면에 담기지 않음, 크기 조정이 필요 크기 조정 AsyncImage(url: URL(string: "https://hws.dev/img/logo.png"), scale: 3) 정확한 사이즈 지정 원격지에 있는 이미지이다 보니 정확한 사이즈를 알기 어려움 이미..

iTunes API 를 이용해서 데이터를 받아올 겁니다. 기반 사항은 이렇습니다. 리스트로 뿌려주는 간단한 코드 struct Response: Codable { var results: [Result] } struct Result: Codable { var trackId: Int var trackName: String var collectionName: String } struct MusicView: View { @State private var results = [Result]() var body: some View { List(results, id: \.trackId) { result in VStack(alignment: .leading) { Text(result.trackName) .font(.hea..

2022.11.23 - [SwiftUI - 기초] - [SwiftUI-기초] UserDefaults 와 SwiftUI 이 글은 위의 포스팅의 후속편입니다. 위의 글은 User 타입이 구조체였지만 이번 포스팅에서 다룰 내용은 User가 클래스고 @Published 속성의 프로퍼티를 가지고 있을 때 대처하는 방법입니다. Struct + Codable struct User: Codable { } 구조체의 타입을 Encodig, Decoding하는 방법은 별다를게 없고, Codable만 설정해주면 됩니다. 자동적으로 Encoding, Decoding 로직이 돈다는 것이죠. 요약하자면 Struct 타입을 디스크에 저장하는 방법은 Codable 을 이용한다는 것입니다. Class + Codable + @Publis..