暂无描述

OrderViewController.swift 1.9KB

    // // OrderViewController.swift // PaiAi // // Created by zhengjianfei on 16/4/7. // Copyright © 2016年 FFIB. All rights reserved. // import UIKit import RxSwift import RxCocoa import RxDataSources protocol OrderViewControllerDelegate: class { func didSelect(_ item: OrderItem) } final class OrderViewController: UIViewController { // MARK: Storyboard property @IBOutlet var tableView: UITableView! weak var delegate: OrderViewControllerDelegate? = nil // MARK: data property let disposeBag = DisposeBag() var orderViewModel = OrderViewModel() // MARK: view function override func viewDidLoad() { super.viewDidLoad() configureRxDataSource() orderViewModel.reload(isRefresh: true) } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(true) titleWithbackBar = "订单记录" } var dataSource: RxTableViewSectionedAnimatedDataSource<AnimatableSectionModel<Int, OrderItem>> { return RxTableViewSectionedAnimatedDataSource<AnimatableSectionModel<Int, OrderItem>>( configureCell: { (dataSource, tableView, indexPath, item) in let cell = tableView.dequeueReusableCell(withIdentifier: "orderCell", for: indexPath) as! OrderCell cell.setInfo(item) return cell }) } func configureRxDataSource() { orderViewModel.orderContents .bind(to: tableView.rx.items(dataSource: dataSource)) .disposed(by: disposeBag) tableView.rx.modelSelected(OrderItem.self) .subscribe(onNext: { [unowned self] in self.delegate?.didSelect($0)}) .disposed(by: disposeBag) tableView.rx.willDisplayCell .subscribe({ [unowned self] in self.orderViewModel.preload(indexPath: $0.element?.indexPath)}) .disposed(by: disposeBag) } }