RxSwift 不将数据绑定到自定义集合视图单元格
Posted
技术标签:
【中文标题】RxSwift 不将数据绑定到自定义集合视图单元格【英文标题】:RxSwift do not bind data to custom collection view cell 【发布时间】:2019-07-28 11:22:36 【问题描述】:我创建了自定义 collectionViewCell 以将数据从可观察对象绑定到自定义 CollectionViewCell。我成功地将数据绑定到自定义 TableViewCell,但无法将数据内容显示到自定义集合视图单元格。 Rx 与自定义集合视图数据源绑定是否存在问题?
这是我的自定义集合视图单元格:
class MovieItemCollectionViewCell: UICollectionViewCell
@IBOutlet weak var titleLabel: UILabel!
override func awakeFromNib()
super.awakeFromNib()
func bind(_ viewModel: MovieItemViewModel)
debugPrint("bind")
titleLabel.text = viewModel.title
这是我的绑定方式:(以下代码完全适用于 tableViewCell,但不适用于 collectionViewCell。顺便说一句,调试器不会进入 collectionViewCell 中的绑定方法)
output.movies.drive(
topRatedMoviesCollectionView
.rx.items(cellIdentifier: MovieItemCollectionViewCell.reuseID,
cellType: MovieItemCollectionViewCell.self)) _, viewModel, cell in
cell.bind(viewModel)
.disposed(by: disposeBag)
【问题讨论】:
【参考方案1】:您发布的代码很好,与您遇到的问题无关。
如果“调试器没有进入 collectionViewCell 中的绑定方法”,那么您的 movies
observable 可能从未发出任何值。
【讨论】:
是的,你是对的。我已经用工作响应尝试了 tableView。集合视图的数据源不发出任何内容。我用 other 更改了另一个数据源,它立即绑定了数据。非常感谢。以上是关于RxSwift 不将数据绑定到自定义集合视图单元格的主要内容,如果未能解决你的问题,请参考以下文章
使用 RxSwift 的 UICollectionView 数据绑定 - iOS
RxSwift MVVM 表视图/集合视图,用户输入单元表示状态