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計算器源碼
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- packagework11; importjava.io.*; importjava.net.*; public ...