ios - 将 BehaviorRelay 与 Observable 绑定(bind) - RxSwift

标签 ios swift rx-swift

我有如下代码。我怎样才能在一条链中实现它,而不使用定时器订阅?我想将“timerInterval”附加到“timer”,然后调用订阅。

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)
}

最佳答案

您会选择 map 运算符(operator)。我不确定你为什么需要 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
          }
}

关于ios - 将 BehaviorRelay 与 Observable 绑定(bind) - RxSwift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55758695/

相关文章:

ios - iOS 应用程序版本的 Firebase A/B 测试正则表达式不起作用

javascript - React Native - 良好实践 : SegmentedControlIOS with ListView

swift - MapKit Swift 将地址转换为协调地址

ios - 初始化(编码器:) has not Implement

swift - 使用图表 UI 时如何获取突出显示点的 x 值?

mvvm - 正确使用 RxSwift 和 TableView

ios - Rx swift : Is it bad practice to subscribe to a presented view controllers view model?

ios - 如何在 Rx Observable 中包装 SKPaymentQueue

ios - 基于 AutoLayout 的应用程序中的 NSAutoresizingMaskLayoutConstraint 错误

c# - 如何将事件推送到 iPhone 日历