gpt4 book ai didi

RxDataSources - 当没有数据时如何添加自定义空单元格

转载 作者:行者123 更新时间:2023-12-01 16:23:48 29 4
gpt4 key购买 nike

struct MyViewModel {
var items: Observable<String>
//....
}

// In view controller
viewModel.items.bind(to: tableView.rx.items(cellIdentifier: "Cell", cellType: MyCell.self)) { index, model, cell in
//...
}
.disposed(by: disposeBag)

如果我有另一个名为 EmptyCell 的单元格,并且我想在项目为空时显示此单元格。我怎样才能实现这个目标。

最佳答案

RxDataSources 数据源应包含您想要在单元格中显示的任何状态或数据。出于这个原因,您可能实际上想要为您的SectionItem 提供一个枚举,而不是一个简单的字符串。

enum CellType {
case empty
case regular(String)
}

typealias Section = SectionModel<String, CellType>

然后,在绑定(bind)“CellType”Observable 时,您可以相对轻松地使用 configureCell Cell Factory 来定义每种情况下您想要出队的单元格。

例如

dataSource.configureCell = { _, _, _, cellType in
switch cellType {
case .empty: /// Dequeue empty cell
case .regular(let string): // Dequeue regular cell and set string
}
}

关于RxDataSources - 当没有数据时如何添加自定义空单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46086529/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com