Slide 11
Slide 11 text
ViewController
の実装
viewModel.$state.map(\.showErrorAlert)
.removeDuplicates()
.receive(on: DispatchQueue.main)
.compactMap { $0 }
.sink { [weak self] errorAlert in
guard let self = self else { return }
let alertController: UIAlertController = .init(
title: errorAlert.title,
message: errorAlert.message,
preferredStyle: .alert
)
alertController.addAction(.init(title: errorAlert.buttonTitle, style: .default, handler: nil))
self.present(alertController, animated: true)
self.viewModel.onErrorAlertDidShow()
}
.store(in: &cancellables)
11