如何手动将下一个信号发送到RxSwift中的observable?

时间:2016-09-12 12:40:40

标签: ios swift reactive-programming rx-swift

我使用以下代码创建一个observable:

FileTransfer

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

如果我创建一个空的Observable 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() } } ,稍后我会尝试发送一个值:

myJust

我收到以下错误:

myJust("").on(.completed)

1 个答案:

答案 0 :(得分:15)

你不能。 Observable只能被观察到。如果您想推送值,则需要SubjectSubject既是Observable又是Observer,因此它可以发出并收听事件。 在RxSwift中,您还可以创建一个Variable,您可以将Observable绑定到。{/ p>

BehaviorSubject的简单示例:

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