首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RxSwift TableView -如何设置numberOfRowsInSection?

在RxSwift中使用TableView,可以通过BehaviorRelay来实现动态的设置numberOfRowsInSection。下面是一个示例:

首先,在你的ViewModel中创建一个BehaviorRelay来存储表格行数的数据:

代码语言:txt
复制
import RxSwift
import RxCocoa

class ViewModel {
    let numberOfRows = BehaviorRelay<Int>(value: 0)
    
    // 其他代码...
}

然后,在你的ViewController中,绑定numberOfRows到TableView的rx.items属性,并使用bind(to:)方法来设置表格行数:

代码语言:txt
复制
import UIKit
import RxSwift
import RxCocoa

class ViewController: UIViewController {
    
    let disposeBag = DisposeBag()
    let tableView = UITableView()
    let viewModel = ViewModel()

    override func viewDidLoad() {
        super.viewDidLoad()
        
        tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")
        view.addSubview(tableView)
        
        // 绑定数据源
        viewModel.numberOfRows
            .bind(to: tableView.rx.items(cellIdentifier: "Cell")) { (_, _, cell) in
                // 配置cell
                cell.textLabel?.text = "Row"
            }
            .disposed(by: disposeBag)
        
        // 设置行数
        viewModel.numberOfRows.accept(10)
    }
}

通过上述代码,当numberOfRows的值发生变化时,TableView的行数也会随之更新。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券