홍로그

데이터 바인딩(Data Binding) 본문

iOS

데이터 바인딩(Data Binding)

성홍민 2023. 6. 2. 13:21

📖데이터 바인딩이란?

데이터 바인딩(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