Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

SwiftUI/SwiftUI(Intermediate)24

17. JSON Download with @escaping ⭐️JSON Download with @escaping⭐️ 지난 시간에 이어 인터넷 url을 통해 json 데이터를 받아와보자. JSON 테스트 API https://jsonplaceholder.typicode.com/ JSONPlaceholder - Free Fake REST API {JSON} Placeholder Free fake API for testing and prototyping. Powered by JSON Server + LowDB. Tested with XV. Serving ~2 billion requests each month. jsonplaceholder.typicode.com api를 통해서 json을 받아올 때 활용할 수 있는 사이트. 이미지, 포스트 등 다양한 샘플이 존재함. .. 2023. 6. 12.
16. Codable, JSON, Encodable, Decodable ⭐️Codable, JSON⭐️ Codable 프로토콜을 통해 JSON 데이터를 인코딩, 디코딩 해보자. https://toughie-ios.tistory.com/113 JSON Parsing JSON이란? JavaScriptObjectNotation의 약자. JSON의 문법이 자바스크립트 문법과 유사하지만 자바스크립트에서만 사용되는 것이 아니라 JSON Parsing을 지원하는 프로그래밍 언어에서는 다 사용할 수 있다. toughie-ios.tistory.com 예전에 작성한 게시글을 한 번 훑고 시작하기. - JSON은 데이터 교환을 위한 가벼운 데이터 형식 - Encoding은 특정 데이터를 JSON으로 변환 - Decoding은 JSON 데이터를 필요한 데이터 형태로 변환(보통 JSON Parsi.. 2023. 6. 12.
15. mask 마스킹 ⭐️mask 마스킹⭐️ 마스킹 테이프.. 피그마의 마스크와 같이 SwiftUI에서도 마스크 기능을 사용할 수 있다. 별점 등록 뷰를 만들어 보고 마스크 없이 했을 때와, 마스크를 썼을 때 할 수 있는 것과 차이점을 알아보자. // Created by Toughie on 2023/05/26. // import SwiftUI struct starRating: View { @State var rating = 0 var body: some View { HStack { ForEach(1..= index ? Color.yellow : Color.gray) .onTapGesture { withAnimation(.spring()) { rating = index } } } } } } 사실 시중 앱에서 별점을 매길 때 애.. 2023. 5. 26.
14. sheet 시트 사용법 / multiple sheets ⭐️sheet 시트 사용법 / multiple sheets⭐️ 한 화면에서 여러가지 다른 종류의 시트(모달)를 띄우는 경우 의도한 대로 적절한 시트가 띄워지지 않는 문제를 겪을 수 있다. // Created by Toughie on 2023/05/25. // import SwiftUI struct SheetModel: Identifiable { let id = UUID().uuidString let title: String } struct MultipleSheetsPrac: View { @State var selectedModel: SheetModel = SheetModel(title: "START") @State var showSheet: Bool = false var body: some View { .. 2023. 5. 25.
13. GeometryReader / rotation3DEffect ⭐️GeometryReader / rotation3DEffect ⭐️ GeometryReader는 내부 뷰들의 크기와 위치에 대한 정보를 얻기 위해 사용하는 컨테이너뷰이다. 여러 상황에서 유용할 수 있지만 단점이 있기 때문에 최대한 사용을 지양하는 편도 좋다. GeometryReader는 뷰 계층 구조를 재계산하고 측정하기 때문에 많은 연산 능력을 요구한다.(컴퓨팅 파워) 즉 자식 뷰의 크기와 위치에따라 크기 조정을 수행하는데, 자식 뷰의 크기가 변경될 때마다 다시 계산된다는 말이다. 이러면 레이아웃 계산이 많아져서 성능 저하가 발생할 수 있다. 1. GeometryReader 사용을 최소화 하기.(꼭 필요한 경우만!), 그리고 중첩 사용 피하기 2. GeometryReder 내에서 복잡한 작업 수행 지.. 2023. 5. 25.
12. ScrollViewReader 스크롤뷰 리더 ⭐️ScrollViewReader 스크롤뷰 리더⭐️ 채팅 앱들을 보면 가장 위로, 가장 아래로 스르륵 자동으로 스크롤 되는 기능이 있는 경우가 많다. 이런 기능은 ScrollViewReader를 통해서 구현할 수 있다. 스크롤뷰리더는 코드를 통해 스크롤을 할 수 있게 하는 뷰이다. 스크롤뷰프록시는 스크롤 가능한 뷰에서 코드를 통해 스크롤을 할 때 필요한 간접/대리값 정도로 이해할 수 있다. 수동으로 스크롤 하는 것이 아니라, 원하는 위치로 자동으로 스크롤 해서 이동하는 것을 구현해 보자. // Created by Toughie on 2023/05/25. // import SwiftUI struct ScrollViewReaderPrac: View { @State var textFieldText: Strin.. 2023. 5. 25.