ios - RxSwift 仅在添加新元素时观察数组变化
问题描述
有没有办法仅在添加新元素时订阅数组更改?
所以我希望只有在添加新元素时才执行以下闭包。
array.asObservable().subscribe(onNext: { array in
}).disposed(by: self.bag)
例如,如果从这个数组中删除了一个元素,我不希望执行这个闭包。
编辑:
有没有办法在闭包中只包含新附加的元素?在我的例子中,我附加了不同长度的子序列,所以我不能只看闭包内数组的最后一个元素。
解决方案
也许是这样的
let array = Variable<[Int]>([])
array.asObservable().distinctUntilChanged { $0.count > $1.count}.subscribe(onNext: {
print($0)
}).disposed(by: disposeBag)
array.value.append(1) //called
array.value.append(2) //called
array.value.remove(at: 0) //not called
array.value.append(3) //called
推荐阅读
- python - Python Numpy追加数组而不展平
- sql - 从 ASP.net 将 SQL 数据导出到 csv 文件
- android - 从视图创建位图/屏幕截图
- javascript - 如何分裂和融合?
- javascript - 我想使用正则表达式,这样我就可以从 ASCII 码中检测到所有内容
- django - ImportError:导入测试模块失败:
- c++ - Visual Studio 2017 扩展选项卡中的 C++ 核心指南检查器缺失
- php - PHP - 将命名空间重置为全局
- node.js - 如何加入 React 应用和 Express 应用?
- ionic-framework - 不允许加载本地资源:file:///storage/emulated/0/Download/1533311989863.png ionic 3 (android)