【问题标题】:Convert Reactive Cocoa Code to RxSwift?将 Reactive Cocoa 代码转换为 RxSwift?
【发布时间】:2018-08-14 17:32:38
【问题描述】:

对于这个代码

  fileprivate let nameChangedProperty = MutableProperty("")
  public func nameChanged(_ name: String) {
    self.nameChangedProperty.value = name
  }

我做了什么

fileprivate let nameChangedProperty = BehaviorRelay<String>(value: "")
  public func nameChanged(_ name: String) {
    self.nameChangedProperty.accept(name)
}

但对

感到困惑
    public init() {
    let initialText = self.viewDidLoadProperty.signal.mapConst("")
    let name = Signal.merge(
      self.nameChangedProperty.signal,
      initialText
    )
}

在这里,第一行,我做了

let initialToken = self.viewDidLoadProperty.asObservable().map { _ in "" }

但不知道合并信号....

如果给出一些理论概念,不胜感激。

【问题讨论】:

    标签: ios swift rx-swift reactive-cocoa


    【解决方案1】:

    Observable 有静态方法merge 方法。您可以对代码进行以下更改以创建可观察的名称。

    let initialText = rx.sentMessage(#selector(MyViewController.viewDidLoad)).map { _ in "" }
    let name = Observable.merge(initialText, nameChangedProperty.asObservable())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-19
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 2012-04-25
      相关资源
      最近更新 更多