如何在 RxSwift 中使用 Behavior Relay/Subject 将数据追加到数组中?

How to Append data in array using Behavior Relay/Subject in RxSwift?

如何在 Subject 类型 Behavior Relay RxSwift 中追加数组数据而不替换之前的数据。 我尝试通过绑定将数据附加到 UICollectionViewCell。它总是闪烁白色显示,因为数据是替换而不是附加而是使用旧数据。

我添加新数据的代码:

var photoCollectionView = BehaviorRelay<[PhotoList?]>(value: [])
let photoData = try? JSONDecoder().decode(SearchPhoto.self, from: RESPONSE_DATA)
photoCollectionView.accept(photoCollectionView.value + (photoData ?? []))

或者你有别的办法吗

感谢您的解决方案:D

问题不在于源 Observable,而是您的 Observer 需要更改。

默认数据源每次发出时都会执行 collectionView.reloadData()。您需要一个可以添加和删除元素的数据源。可以导入RxDataSources库,也可以自己写数据源。