[Swift] @Published에 대해

임클·2023년 9월 11일
0

Swift

목록 보기
33/37
post-thumbnail

@Published는

@Published는 SwiftUI 및 Combine 프레임워크와 함께 사용되는 속성 래퍼(property wrapper) 중 하나입니다. 이것은 속성을 관찰 가능한 속성으로 만들어주는 역할을 합니다. @Published로 선언된 속성은 해당 속성의 값이 변경될 때마다 SwiftUI 뷰에 자동으로 업데이트를 알리게 된다.

예를 들어, 다음과 같이 @Published를 사용하여 프로퍼티를 선언할 수 있다:

@Published var someProperty: SomeType

그런 다음 이 속성이 변경될 때마다 SwiftUI 뷰가 업데이트된다. @Published로 선언된 속성의 값이 변경될 때마다 관련된 뷰가 다시 그려진다. 이를 통해 데이터의 변경을 UI에 반영할 수 있다.

일반적으로 ObservableObject와 함께 사용되며, ObservableObject 클래스 내부에서 @Published로 선언된 속성이 변경될 때마다 objectWillChange 퍼블리셔가 자동으로 호출된다. 이를 통해 SwiftUI는 뷰를 업데이트해야 함을 알게 된다.

@Published는 SwiftUI 앱에서 데이터 바인딩을 구현하고 UI 업데이트를 관리하는 데 매우 유용한 도구 중 하나이다.

여기서 SwiftUI뷰인지 확인하는 방법은 해당 뷰의 유형이 View 프로토콜을 채택하고, SwiftUI 뷰 빌더(body 속성을 가진)를 가지고 있는지 확인한다. SwiftUI 뷰는 View 프로토콜을 준수하는 구조체, 클래스 또는 열거형으로 정의된다.

@Published 속성은 SwiftUI에서 상태를 관리하기 위해 사용된다. 그래서 단순한 Swift코드에서는 관리하질 않는다.

profile
iOS를 공부하는 임클입니다.

0개의 댓글