// ViewController.swift
// RxSwiftTest
//
// Created by travey on 2018/11/5.
// Copyright © 2018年 ZhouShijie. All rights reserved.
import UIKit
import RxSwift
import RxCocoa
import SnapKit
import RxDataSources
class ViewController: UIViewController {
let disposeBag = DisposeBag()
var tableView: UITableView!
override func viewDidLoad() {
tableView = UITableView(frame: view.frame, style: .plain)
tableView!.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
view.addSubview(tableView)
// 创建流
let items = Observable.just([
SectionModel(model: "我喜欢的语言", items: [
"C++",
"C",
"Swift",
"Go",
"Java"]),
SectionModel(model: "我讨厌的语言", items: [
"Objective-C",
"C#",
])
])
let dataSource = RxTableViewSectionedReloadDataSource<SectionModel<String, String>>(configureCell:{ dataSource, tv, indexPath, element in
let cell = tv.dequeueReusableCell(withIdentifier: "cell")
cell?.textLabel?.text = "\(indexPath.row): \(element)"
return cell!
})
// 设置分区的头标题,titleForHeaderInSection是一个函数,输入是TableViewSectionedDataSource类型,Int,输出是一个字符串,因此等号右边是一个闭包
dataSource.titleForHeaderInSection = {
ds, index in
return ds.sectionModels[index].model
}
items.bind(to: tableView.rx.items(dataSource: dataSource)).disposed(by: disposeBag)
}
}
RxDataSources与TableView实现界面展示(一)
猜你喜欢
转载自blog.csdn.net/shijie97/article/details/83790772
今日推荐
周排行