0
使用RxSwift,说我有一个包含可观察到的整数平映射在观察集合观察到的性质RxSwift
class A: {
let count: Observable<Int>
}
和的
let data: Observable<[A]>
对象的观察集合A类我想定义一个sum: Observable<Int>
,它将是data
中所有对象的所有count
的总和。每当data
可观察收集更改或任何count
属性更改时,sum
也应该更改。
如何实现这一目标?我试了一些flapMap
和map
的组合,但只有当sum
得到更新时才得到解决方案,只有当data
得到更新时,忽略count
的更改。
这对我来说只是0。编辑之前的版本显示了正确的值,但当count更新时没有发出新的版本。 –
尝试在每个操作员之后添加'.debug()'以确定每个操作员上游的完成位置。基本上,'.reduce()'仅在上游完成时发射,而在每个上游项目上发射'.scan()'。如果一切都失败,请尝试'BehaviourSubject>'上的'.switchLatest()',您将使用新的'Observable.just([A(),A(),...)''' –
'通过扫描(在编辑之前的版本),它会在发生变化时继续添加数字,而不是再次计算。就像计数从1变到2时一样,结果将不是2而是3(1 + 2)。 –