-
[Swift UI] ObservableObject, @Published : Data의 변화를 감시하고 알려주자Swift/SwiftUI 2022. 4. 5. 23:13
SwiftU가 지켜보고 있다가 ObservableObject의 값이 변하면
View에 알려주고 전달한다
감시할 변수에게 @Published 으로 감싸주면
그 변수에 변화가 감지 될때 마다 변화가 생겼다고 알려준단다.
이런식으로 쓴다 class를 만들고 ObservableObject를 상속 받는다
꼭 필히 import Combine해준다
왜냐하면 ObservableObject은 Combine이라는 framework이 제공한다
class 안에 변수를 담을 껀데 @Published로 감싸면 된다
위에 코드는 예시이고 실제 프로젝트에서는 어떻게 작동될까?
Data Struct이다
"landmarkData.json"에서 list를 읽어오고
그걸 landmarks에 담아 준다 그리고 감시한다 그러면 어떻게 쓰일까?
App file에서 이런식으로 알려줘야 한다
modelData 감시할꺼야~
그리고 사용하고자 하는 view에서도 변수 선언해준다 이놈 감시대상인데
변경사항있으면 알림 받을꺼야~
'Swift > SwiftUI' 카테고리의 다른 글
[SwiftUI] TextEditor background color 바꾸기 (0) 2022.04.07 [SwiftUI] Button 을 Toggle 처럼 사용해보자 (0) 2022.04.05 [SwiftUI] isFavorite: Bool 활용하여 filter 해주기 (0) 2022.04.05 [SwiftUI] projectedValue : State으로 선언된 변수를 자식 View에서 갖다 써보자 (0) 2022.04.04 [SwiftUI] Binding : 다른 View 에서 변수를 가져다 써보자 (0) 2022.04.04