Ear*_*rey 4 ios swift rx-swift
我觉得这很令人困惑。来自ReactiveCocoa,我希望有这种可能。
如何将可观察到的RxSwift初始化为5?
小智 7
您可以通过多种方式创建流:
主要方式
Observable<Int>.create { observer -> Disposable in
// Send events through observer
observer.onNext(3)
observer.onError(NSError(domain: "", code: 1, userInfo: nil))
observer.onCompleted()
return Disposables.create {
// Clean up when stream is deallocated
}
}
Run Code Online (Sandbox Code Playgroud)
捷径
Observable<Int>.empty() // Completes straight away
Observable<Int>.never() // Never gets any event into the stream, waits forever
Observable<Int>.just(1) // Emit value "1" and completes
Run Code Online (Sandbox Code Playgroud)
通过主题(又名Property/ MutableProperty在ReactiveSwift中)
Variable is deprecated in RxSwift 4, but it's just a wrapper around BehaviourSubject, so you can use it instead.
There are 2 most used subjects
BehaviorSubject - it will emit current value and upcoming ones. Because it will emit current value it needs to be initialised with a value BehaviorSubject<Int>(value: 0)
PublishSubject - it will emit upcoming values. It doesn't require initial value while initialising PublishSubject<Int>()
Then you can call .asObservable() on subject instance to get an observable.
| 归档时间: |
|
| 查看次数: |
7286 次 |
| 最近记录: |