/BIDataSource

a wrapper of UITableViewDataSource and UITableViewDelegate of UITableView

Primary LanguageSwiftMIT LicenseMIT

BIDataSource

a protocol oriented wrapper of UITableViewDataSource and UITableViewDelegate of UITableView

// MARK: CellConfigureProtocolViewController
class CellConfigureProtocolViewController: UIViewController, ListDataProtocol, TableViewDataSource,
CellConfigureProtocol{

    var items: [String] = []
    var tableView = UITableView()

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.addSubview(self.tableView)

        self.tableView.queueIn(RedColorCell.classForCoder(), identifier: "cell")
        self.items.append("first cell")
        self.items.append("second cell")
        self.tableView.setDataSource(self)
    }

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        self.tableView.frame = self.view.bounds
    }

    /*一个cell 仅单次使用使用*/
    func configure(cell: RedColorCell , data: String) {
        cell.textLabel?.text = "once cell , cell configure protocol \(data)"
    }
}
// MARK: ListBinderProtocolViewController
class ListBinderProtocolViewController: UIViewController , ListDataProtocol, ListBinderProtocol, TableViewDataSource{

    var items: [String] = []

    /*一个cell 多处使用适用*/
    typealias ListBinder = ABCCellBinder

    var tableView = UITableView()

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.addSubview(self.tableView)
        self.tableView.queueIn(RedColorCell.self, identifier: "cell")
        self.items.appendContentsOf(["row1", "row2"])
        self.tableView.setDataSource(self)
    }

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        self.tableView.frame = self.view.bounds
    }
}