Sen*_*cha 1 ios swift rx-swift
我正在使用 RxSwift 并且我正在尝试扩展另一个库,我正在使用它来制作可观察的东西。
该库基本上每次值更改时都会调用一个委托方法,我想挂钩到这个方法,每当它调用委托时,还要将新值添加到我想在我的子类中创建的可观察序列中。
我已经看到了如何创建可观察序列,但在每个示例中,next事件都被发送到Observable.create方法块内的观察者。我不知道如何从传递给create.
我只是想创建一些我可以观察或可以使用 RxSwift 驱动的东西,并在某些点手动添加到序列中。
如果有人能指出我正确的方向,我将不胜感激,因为我对此很陌生。
Observable是只读接口。创建的序列Observable.create只能产生在构造时给出的值,仅此而已。用你的话来说,你不能“添加东西”。用 RxSwift 的术语来说,你不能仅仅放弃Observable接口,你还需要ObserverType——它还必须观察你的变异值。在 RxSwift 中有不止一种方法可以做到这一点,但我认为您需要PublishSubject:
let value = PublishSubject<YourType>()
let disposer = DisposeBag()
init() {
value.subscribe(onNext: { (newValue) in
// use newValue ...
}).addDisposableTo(disposer)
}
func yourDelegateHandler(newValue: YourType)
{
value.onNext(newValue)
}
Run Code Online (Sandbox Code Playgroud)