美文网首页
RxSwift-搞事情(二)

RxSwift-搞事情(二)

作者: Harry_upup | 来源:发表于2019-08-15 18:16 被阅读0次

    RxSwift-搞事情(一)
    上次说到RxSwift的核心逻辑,发现有些东西并没想象中简单,这次再来补充一哈。
    搞事情(一)我们说到sink初始化保存了observer,最终程序走到了sink.run,也就是管子的run方法,parent._subscribeHandler(AnyObserver(self)),参数self就是AnonymousObservableSink,parent就是AnonymousObservable,然后我们来看AnyObserver(sink)。
    AnyObserver
    AnyObserver是一个结构体,并继承ObserverType协议,初始化会给自己的属性observer赋值,也就是observer.on,参数observer其实就是传过来的AnonymousObservableSink,所以会到sink.on里面去

    image.png 通过event判断走.next .error .completed ,以.next为例,会继续走到forwardOn image.png 接着会走到forwardOn里面的self._observer.on,而_observer正式初始化sink时传过来的参数,也就是之前的AnonymousObserver也就可以走到它的闭包从而完成回调 image.png

    相关文章

      网友评论

          本文标题:RxSwift-搞事情(二)

          本文链接:https://www.haomeiwen.com/subject/mwttsctx.html