仅继承了此代码库,而我对 RxSwift 不太熟悉。我已经阅读了一些书,但是找不到解决我问题的方法。
我们声明了一个变量。这样可以保存网络呼叫中的信息,然后将其用于将信息加载到集合视图中。因此,收藏视图显示了多个相似的项目
var allPhotos = BehaviorRelay<[Photo]>.init(value: [])
如何将其转换为集合以删除重复项?
答案 0 :(得分:0)
尝试一下:
let filteredPhotos = allPhotos.asObservable().map { Array(Set($0)) }
PS:确保照片符合Hashable
答案 1 :(得分:0)
您可以使用RxSwiftExt的distinct
运算符消除任何可观察到的重复项。实际上,它是用于不同扩展的好库。通过可可豆荚或迦太基安装。
var filteredPhotos = allPhotos.asObservable().distinct().toArray()