-
[Combine] AsyncPublisher 란?Swift 2023. 10. 24. 13:42
struct ContentView: View { @StateObject var viewModel = ContentViewModel() var body: some View { Button("Button") { viewModel.didTap() } } }
class ContentViewModel: ObservableObject { @Published var items: [String] = [] private var store = Set<AnyCancellable>() init() { observe() } func didTap() { items = ["1", "2", "3"] } func observe() { Task { for await value in $items.values { print("values: ", value) } } $items .receive(on: DispatchQueue.main) .sink { value in print("sink: ", value) }.store(in: &store) } }
Publisher 에서 던져주는 값을 sink 가 아닌 async await 으로 받아 올수 있음 !
'Swift' 카테고리의 다른 글
[Swift] KeyPath, WritableKeyPath, ReferenceWritableKeyPath 차이와 구분해서 사용하기 (0) 2023.10.25 [Swift] NSPredicate format placeholders (0) 2023.10.25 [Swift] ThreadSafe 한 Class 만들기 (1) 2023.10.24 [Swift] DispatchQueue.global() 과 Task.detatched(priority: .background) 의 차이점 (0) 2023.10.24 [Swift] Mirror 써보기 (0) 2023.10.18