[Part-1]Model View ViewModel(MVVM) pattern using RxSwift 2022
UITableView
의 Rx
바인딩 let users: BehaviorSubject = .init(value: [UserModel]())
CurrentValueSubject
와 동일한 동작 private var disposeBag = DisposeBag()
AnyCancellables
와 상동private func bind() {
tableView
.rx
.setDelegate(self)
.disposed(by: disposeBag)
viewModel
.users
.bind(to: tableView.rx.items(cellIdentifier: UserTableViewCell.identifier, cellType: UserTableViewCell.self)) { _, model, cell in
cell.configure(with: model)
}
.disposed(by: disposeBag)
}
RxCocoa
프레임워크가 제공하는 bind
메소드를 통해 특정 UI 컴포넌트의 rx
에 달려 있는 아이템과 결합, UI를 그리기rx.items
로 연결된 구문을 통해 현재 테이블 뷰의 셀을 리턴disposed