30天学RxSwift——subscribe
2016-03-12 本文已影响1029人
Linqingmo
先看一下Observable中的一个函数,public func subscribe<O : ObserverType where O.E == E>(observer: O) -> Disposable。这里的subscribe就是这节要讲的内容,至于ObserverType(消息的观察者)则放到下一节。
上一节说到了Observable是一种像信号一样的序列,而信号就需要有人监听这些信号。ObservableType协议中定义了subscribe函数就是一种简便的订阅信号的一种方法。这里的subscribe函数就是把消息发给观察者。由于还未讲到Observer,所以这节先看其他的subscribe。(这是Swift中强类型的优势,同时也是刚接触RxSwift时比较容易产生困惑的地方。ObservableType底下的subscribe实在是太多了。)
subscribe是Observable的好伙伴。如果没有弄清楚二者之间的关系,要想学会运用这个框架几乎是不可能的。
闲话不扯,讲一subscribe。Observable产生的信号有Next,Complete,Error三种类型(ReactiveCocoa还多了一个Interrupted),因此subscribe需要对这三种信息进行监听。比较常用的一个是subscribeNext。
这几天想要整理一下,将代码发到github上,还在研究中。加班,时间比较少,所以还要费一些时间。
到目前为止能写的代码还比较抽象,所以就不上代码了。在Rx的Playground中可以找到相应的代码。还有一两节后,会从RxCocoa中找一些实用的,直观的例子来解释,到时会把github地址贴出来。
下一节想要讲一讲Observer。