【问题标题】:How to Append data in array using Behavior Relay/Subject in RxSwift?如何使用 RxSwift 中的行为中继/主题在数组中追加数据?
【发布时间】:2020-03-30 16:46:07
【问题描述】:

如何在 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

【问题讨论】:

    标签: swift uicollectionviewcell rx-swift


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 2013-01-22
    • 2021-11-17
    • 1970-01-01
    相关资源
    最近更新 更多