// // ReviewMemberListVC.swift // QuickLocation // // Created by 八条 on 2026/6/10. // import UIKit import RxSwift import RxCocoa import RxDataSources import ObjectMapper class ReviewMemberListVC: BaseViewController { fileprivate var rootView: ReviewMemberListView! override func loadView() { rootView = ReviewMemberListView(frame: UIScreen.main.bounds) view = rootView } private var viewModel: ReviewMemberListViewModel override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. bindViewModel() requestReviewlist() } private func bindViewModel() { viewModel.output.sectionedItems .bind(to: rootView.tableView.rx.items(dataSource: dataSource)) .disposed(by: disposeBag) } // MARK: - UITableViewDataSource lazy private var dataSource: RxTableViewSectionedReloadDataSource = { return RxTableViewSectionedReloadDataSource( configureCell: { (_, tableView, indexPath, model) in let cell: ReviewMemberCell = tableView.dequeueReusableCell(for: indexPath) cell.configure(model) return cell }) }() // MARK: - API private func requestReviewlist() { DLToast.showLoading() GroupService.reviewlist(requestData: ["group_key": viewModel.groupId]).subscribe { response in DLToast.dismiss() }.disposed(by: disposeBag) } // MARK: - Init init(groupId: String) { self.viewModel = ReviewMemberListViewModel(groupId: groupId) super.init(nibName: nil, bundle: nil) } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } }