我使用以下代码创建一个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)
答案 0 :(得分:15)
你不能。 Observable
只能被观察到。如果您想推送值,则需要Subject
。
Subject
既是Observable
又是Observer
,因此它可以发出并收听事件。
在RxSwift中,您还可以创建一个Variable
,您可以将Observable
绑定到。{/ p>
BehaviorSubject
的简单示例:
let subject = BehaviorSubject(value: 1)
subject.on(.Next(2))
subject.on(.Next(3))
subject.on(.Completed)