#5 UITableView using ViewModel and RxDatasources - RxSwift MVVM Coordinator iOS App
RxDataSources
를 통해 테이블 뷰 UI 변환 private var dataSource: RxTableViewSectionedReloadDataSource<CityItemsSection>?
private func configureDataSource() {
dataSource = .init(configureCell: { _, tableView, indexPath, item in
guard let cell = tableView.dequeueReusableCell(withIdentifier: CityTableViewCell.identifier, for: indexPath) as? CityTableViewCell else { fatalError() }
cell.configure(with: item)
return cell
})
}
private func bind() {
guard let dataSource = dataSource else { return }
viewModel?
.output
.cities
.drive(tableView.rx.items(dataSource: dataSource))
.disposed(by: disposeBag)
}
configureDataSource()
함수를 통해 값을 가지고 있으므로 뷰 모델의 아웃풋(Drive
로 선언)에 달려 있는 drive
메소드 사용 가능rx
에 달려 있는 items
를 구성하는 데이터 소스에 위의 데이터 소스를 넘기기