Slide 19
Slide 19 text
ListViewController
final class ListViewController: UIViewController {
typealias Alert = ListViewModelOutputs.Alert
@IBOutlet private var tableView: UITableView!
…
override func viewDidLoad() {
super.viewDidLoad()
bind()
viewModel.inputs.viewDidLoad()
}
private func bind() {
viewModel.outputs.reloadData = { [weak self] in
self?.tableView.reloadData()
}
viewModel.outputs.showAlert = { [weak self] alert in
self?.showAlert(with: alert)
}
}
private func showAlert(with alert: Alert) {
UIAlertController.ok(title: alert.title, message: alert.message, in: self, completion: { _ in
alert.completion?()
})
}
}