일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- gesture
- GCD
- Network
- state
- firebase
- Performance
- SwiftUI
- swift
- Concurrency
- 네트워크
- Animation
- toolbarvisibility
- auth
- WWDC
- 접근성제어
- 최적화
- arkit
- view
- ios
- authentication
- avsession
- CS
- iphone
- RxSwift
- combine
- withAnimation
- 달력
- UIKit
- dataflow
- stateobject
- Today
- Total
목록view (2)
XLOG

SwiftUI 를 사용하다가 보면 .toolbar 나 .onChange 같은 함수들이 iOS 17.0 을 기준으로 deprecated 되어 분기처리를 해야하는 경우를 마주하게 된다. 하지만 매번 사용하는 곳에서 분기처리 하는 코드를 사용하는 건 비효율적이기에 View 의 extension 을 사용하면 중복된 코드를 줄일 수 있다.먼저 onChange의 변화점에서 공통점을 찾아보자.바뀐점은 17 이상에선 initial 이라는 인자를 받는데 이건 initial 될 때 액션을 발생시킬지를 결정하는 값이다.그리고 두 번째로는 변화값을 받아서 전달해주는 action handler 가 17 이전에는 바뀐 값 하나만을 전달해줬다며, 17 이상부턴 바뀌기 전과 후 모두를 전달해준다. 여기서 공통점은 결국 어떠한 값(..

1. StateSingle source of truth 로 View 에서 PropertyWrapper 로 정의 한다. 그로 인해 View 와 따로 독립적으로 SwiftUI 가 데이터를 관리해 주며 생명 주기는 View 의 생명주기와 동일하다. State 값의 변화를 view에 알려주면 View 는 re-render 한다.단 해당 State 가 정의된 View 의 body 내부에 직접적으로 state 값을 활용하여 View 의 내용이 달라지는 요소가 없다면 re-render 하지 않는다.import SwiftUIstruct ParentView: View { @State var count: Int = 0 var body: some View { VStack { ..