RxSwift不会将数据绑定到自定义集合视图单元格

时间:2019-07-28 11:22:36

标签: uicollectionview uicollectionviewcell rx-swift rx-cocoa

我创建了自定义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)

enter image description here

1 个答案:

答案 0 :(得分:1)

您发布的代码很好,并且与您遇到的问题无关。

如果“调试器未输入在collectionViewCell中绑定方法”,则您的movies可观察对象很可能从未发出任何值。