美文网首页
RXDataSouce + tablview

RXDataSouce + tablview

作者: 河马咕嘟 | 来源:发表于2018-08-16 10:46 被阅读21次

    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

          本文链接:https://www.haomeiwen.com/subject/ujgubftx.html