Observable.from(commands)
.merge()
.scan(CalculatorState.CLEAR_STATE) { a, x in
return a.tranformState(x)
}
.debug("debugging")
.subscribe(onNext: { [weak self] calState in
self?.resultLabel.text = calState.inScreen
switch calState.action {
case .operation(let operation):
switch operation {
case .addition:
self?.lastSignLabel.text = "+"
case .subtraction:
self?.lastSignLabel.text = "-"
case .multiplication:
self?.lastSignLabel.text = "x"
case .division:
self?.lastSignLabel.text = "/"
}
default:
self?.lastSignLabel.text = ""
}
})
.addDisposableTo(disposeBag)
rx计算器源码
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- packagework11; importjava.io.*; importjava.net.*; public ...