ios - 如何手动将下一个信号发送到 RxSwift 中的可观察对象?

标签 ios swift reactive-programming rx-swift

我使用以下代码创建一个可观察对象:

let disposeBag = DisposeBag()

let myJust = { (element: String) -> Observable<String> in
    return Observable.create { observer in
        observer.on(.next(element))
        //observer.on(.completed)
        return Disposables.create()
    }
}

该代码来自 RxSwift 的示例代码。

如果我创建一个空的 Observable myJust,稍后我尝试向它发送一个值:

myJust("🔴").on(.completed)

我收到以下错误:

error: value of type 'Observable<String>' has no member 'on'

最佳答案

你不能。 Observable 只能被观察到。如果你想推送值,你需要一个 SubjectSubject 既是 Observable 又是 Observer,因此它可以发出和监听事件。 在 RxSwift 中,您还可以创建一个 Variable,您可以将 Observable 绑定(bind)到它。

BehaviorSubject 的快速示例:

let subject = BehaviorSubject(value: 1)
subject.on(.Next(2))
subject.on(.Next(3))
subject.on(.Completed)

关于ios - 如何手动将下一个信号发送到 RxSwift 中的可观察对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39450565/

相关文章:

ios - Swift:跳转到 CollectionView 中的下一个文本字段

ios - 接受提示后核心位置未更新

ios - React Native 如何访问 iOS 字典来提取单词的定义?

R Shiny : Observe only works once

html - 将 onBlur 与 JSX 和 React 结合使用

ios - 使用 Magical Record 获取不同实体的数量

ios - 谷歌+ :Get friends list (HTTP 403 forbidden)

ios - 不更新swift4中UItableViewCell的内容

swift - 沮丧的 Swift 回调

ios - iOS 的 Eddystone 信标背景跟踪