일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- await
- SwiftUI
- fileprivate
- The Composable Architecture
- SwiftData
- ScrollViewProxy
- @NameSpace
- App Thinning
- Combine vs Async/Await
- SFSafariView
- 이것이나의다정입니다
- @ObservedObject
- AnyCancellable
- @StateObject
- async/await
- wwdc23
- matchedGeometryEffect
- Dynamic Dispatch
- Concurrency Programming
- @main
- ScrollViewReader
- Static Dispatch
- architecture
- MVVM
- ios
- Universal Link
- async
- swift
- combine
- Custom URL Scheme
Archives
- Today
- Total
홍로그
데이터 바인딩(Data Binding) 본문
📖데이터 바인딩이란?
데이터 바인딩(Data Binding)은 애플리케이션의 사용자 인터페이스(UI)와 데이터 모델 사이의 상호 작용을 자동으로 연결해 주는 기술입니다. 이를 통해 데이터 모델의 변화가 발생할 때 UI도 자동으로 업데이트되도록 합니다. 따라서 개발자는 수동으로 이벤트 리스너를 설정하거나 UI를 업데이트할 필요가 없어집니다.
- Key-Value Observing(KVO): 이 방식은 Foundation 프레임워크의 일부로 제공되며, 객체의 속성 변화를 감지하고 이를 다른 객체와 연결할 수 있게 해주는 기능입니다. KVO는 주로 Objective-C에서 사용되며, Swift에서는 보통 사용되지 않습니다.
- NotificationCenter: 이 방식은 알림(이벤트) 발송 및 수신에 관련된 기능을 제공하는 객체를 사용하여 모델의 변화를 감지하고 그에 따라 UI를 업데이트하는 방식입니다.
- Delegation: 이 방식은 모델의 변화가 발생할 때마다 이를 알려주는 Delegate 프로토콜을 사용하여 바인딩되어 있는 UI가 적절한 업데이트를 수행하도록 구현하는 방식입니다.
- SwiftUI: iOS 13부터 지원되는 SwiftUI는 선언적 UI 구조를 사용하여 UI 요소를 직관적으로 작성하고 데이터 바인딩을 쉽게 구현할 수 있는 프레임워크입니다. 상태 프로퍼티 래퍼(@State, @Binding, @ObservedObject 등)와 Combine 프레임워크를 사용해 데이터 바인딩을 구현할 수 있습니다.
반응형
'iOS' 카테고리의 다른 글
MVP 패턴 (2) | 2023.06.04 |
---|---|
@StateObject, @ObservedObject, @EnvironmentObject 비교 (0) | 2023.06.03 |
SwiftUI @State (0) | 2023.06.01 |
MVVM 패턴 (0) | 2023.05.31 |
Combine vs Async/Await (0) | 2023.05.29 |