RxCocoa绑定UICollectionView报Static member rx cannot be using错误如何解决
错误原因
你遇到的编译错误是collectionView.rx.items方法的调用语法错误导致的:你在传入cellIdentifier和cellType两个参数后,没有补全方法参数的右括号)就直接写了单元格配置闭包,导致编译器无法正确识别方法签名,误判为你要调用UICollectionView类型上的静态rx成员,所以抛出了该错误。另外你原代码中dispose(by:)的拼写也错误,正确写法是disposed(by:)。
正确绑定代码
修正后的viewDidLoad部分代码如下:
override func viewDidLoad() { super.viewDidLoad() presenter?.getProductList() .bind(to: collectionView.rx.items( cellIdentifier: ProductCollectionViewCell.identifier, cellType: ProductCollectionViewCell.self )) { index, productEntity, cell in // 在此处实现单元格配置逻辑,示例: cell.renderData(productEntity) } .disposed(by: disposeBag) }
注意事项
- 确保当前文件头部已经导入
import RxSwift和import RxCocoa - 确保你已经提前调用
collectionView.register(ProductCollectionViewCell.self, forCellWithReuseIdentifier: ProductCollectionViewCell.identifier)完成单元格注册,避免运行时崩溃
内容的提问来源于stack exchange,提问作者Farhandika
相关产品推荐
相关产品推荐

