RXDataSouce + tablview

RXDataSouce + tablview   

RXDataSouce  是rx的一个扩展库文件,RxDataSource 的本质就是使用 RxSwift 对 UITableView 和 UICollectionView 的数据源做了一层包装。使用它可以大大减少我们的工作量。

        //创建表格视图

         self.tableView = UITableView(frame: self.view.frame, style:.plain)

        //创建一个重用的单元格

        self.tableView!.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")

       self.view.addSubview(self.tableView!)

  //初始化数据    

        let sections = Observable.just([

            MySection(header: "", items: [

                "UILable的用法",

                "UIText的用法",

                "UIButton的用法"

                ])

            ])


 //创建数据源

        let dataSource = RxTableViewSectionedAnimatedDataSource(

            //设置单元格

            configureCell: { ds, tv, ip, item in

                let cell = tv.dequeueReusableCell(withIdentifier: "Cell")

                    ?? UITableViewCell(style: .default, reuseIdentifier: "Cell")

                cell.textLabel?.text = "\(ip.row):\(item)"

               return cell

        })

  //绑定单元格数据

        sections

            .bind(to: tableView.rx.items(dataSource: dataSource))

            .disposed(by: disposeBag)



其中定义section要注意  

//自定义Section

struct MySection {

    var header: String

    var items: [Item]

}


extension MySection : AnimatableSectionModelType {

    typealias Item = String


    var identity: String {

        return header

    }

   init(original: MySection, items: [Item]) {

        self = original

        self.items = items

    }

}


以上信息借鉴至  http://www.hangge.com/blog/cache/detail_1982.html#     不是我个人所写  ,只是拿来熟悉,理解一下 

你可能感兴趣的:(RXDataSouce + tablview)