SwiftUI
-
[SwiftUI] Navigation (feat. WWDC2022)iOS 2024. 11. 6. 13:45
이 포스트는 WWDC2022: SwiftUI Cookbook for Navigation 세션의 내용을 공부하며 정리한 글입니다.잘못 이해한 부분이 있다면 댓글 남겨주세요 :) NewAPIsSwiftUI의 Navigation API는 화면전환을 데이터에 기반하여 프로그래밍 방식으로 제어하는 것을 지향한다.기존의 NavigationView에서 NavigationStack으로 변경되면서 좀 더 Programatic한 화면전환이 가능해졌다고 한다. NavigationStack / NavigationLink NavigationStack(path: $path) { NavigationLink("Details", value: value) } 2-Column NavigationSplitViewNaviga..
-
[SwiftUI] UI Update (feat. WWDC2021)iOS 2024. 11. 3. 19:34
이 포스트는 WWDC2021: Demystify SwiftUI 세션 중 UI Update에 대한 내용을 공부하며 옮겨적은 글입니다.오역이나 잘못 이해한 부분이 있을 수 있으니 틀린 부분은 댓글로 알려주세요 :) View의 구성의존성은 view의 input이며, 의존성이 변화할 때 새로운 body를 생성하기 위해 View가 필요하다body는 View의 hierarchy를 구성하는 영역이다.Action은 View의 종석성을 변경하는 트리거이다. DogView DiagramButton을 클릭하면 개에게 보상을 주기위한 action을 전달한다.그 결과 개가 변경되고 의존성이 변경되었기 때문에 DogView는 새 body를 생성한다.Data Flow에 대한 더 자세한 내용은 Data essentials in ..
-
[SwiftUI] View의 Lifetime (feat. WWDC 2021)iOS 2024. 11. 1. 01:23
이 포스트는 WWDC2021: Demystify SwiftUI 세션 중 View lifetime에 대한 내용을 공부하며 옮겨적은 글입니다.오역이나 잘못 이해한 부분이 있을 수 있으니 틀린 부분은 댓글로 알려주세요 :) View value 변화 시의 로직동일한 View 정의에서 생성된 서로 다른 2개의 값(PurrDecibelView)이 있는 경우.SwiftUI는 비교를 수행하고 View가 변경되었는 지 알기 위해서 두 값의 copy를 유지할 것이다.그 후 변경 전의 값은 파괴된다. Key pointView value는 일시적이고 View의 lifetime에 의존하지 않아야 한다.하지만 View value의 identity를 제어할 수 있어야 한다. View lifetimeView가 생성되고 화면에 보여..
-
[SwiftUI] View Identity (feat. WWDC 2021)iOS 2024. 10. 31. 16:45
이 포스트는 WWDC2021: Demystify SwiftUI 세션 중 View Identity에 대한 내용을 공부하며 옮겨적은 글입니다.오역이나 잘못 이해한 부분이 있을 수 있으니 틀린 부분은 댓글로 알려주세요 :) Explicit IdentityView나 data의 type을 하나의 그룹으로 묶을 수 있다특정 View를 참조하기 위한 custom identifer를 제공할 수 있다. UIKit/Objective-C: Pointer IdentityUIKit과 Objective-C에서 각각의 UIView/NSView 객체는 각자가 할당된 메모리 주소를 향한 유니크한 포인터를 갖고 있다.이 포인터를 활용해 각각의 뷰를 참조할 수 있다.만약 두 개의 UIView/NSView가 같은 포인터를 공유한다면 이 ..