【问题标题】:Binding BehaviorRelay with Observable - RxSwift使用 Observable 绑定 BehaviorRelay - RxSwift
【发布时间】:2019-04-19 08:12:54
【问题描述】:

我有如下代码。如何在不使用定时器订阅的情况下在一个链中实现它?我想将 'timerInterval' 附加到 'timer' 上,然后调用 subscribe。

var timerInterval: BehaviorRelay<String> = BehaviorRelay(value: "")

...

func doLogic() {
    let timer = Observable<Int>.interval(0.05, scheduler: MainScheduler.instance)

    timer.subscribe({ [weak self] value in
            let doubleValue = Double(value.element ?? 0)
            let dividedValue = doubleValue / 20.0
            let text = String(format: "%.2f", dividedValue)
            self?.timerInterval.accept(text)
        }).disposed(by: disposeBag)
}

【问题讨论】:

    标签: ios swift rx-swift


    【解决方案1】:

    你会选择地图操作员。我不确定你为什么需要BehaviourRelay,但我会做一些更简单的事情:

    let timer = Observable<Int>.interval(0.05, scheduler: MainScheduler.instance)
    
    var timerInterval: Observable<String> {
       return timer.map { value -> String in
                 let doubleValue = Double(value.element ?? 0)
                 let dividedValue = doubleValue / 20.0
                 let text = String(format: "%.2f", dividedValue)
                 return text
              }
    }
    
    

    【讨论】:

    • 漂亮简洁! ☺️
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多