本篇博客我們就來(lái)聊一下combineLatest()的使用以及具體的實(shí)現(xiàn)方式。在之前的《iOS開發(fā)之ReactiveCocoa下的MVVM》的博客中我們已經(jīng)聊過(guò)combineLatest()的用法,雖然是使用老版本的ReactiveCocoaObjective-C語(yǔ)言介紹的,不過(guò)使用原理上都是一致的。都是將兩個(gè)信號(hào)量進(jìn)行合并,當(dāng)其中一個(gè)信號(hào)量發(fā)出Value事件時(shí),如果另一個(gè)信號(hào)量之前也發(fā)送過(guò)Value事件,那么就取出最后一個(gè)事件的Value值與當(dāng)前發(fā)送的事件值進(jìn)行合并,然后將合并后的值發(fā)送給新的信號(hào)量的觀察者。如果其中一個(gè)未發(fā)送過(guò)任何Value,那么將不會(huì)向合并后的信號(hào)量的觀察者發(fā)送事件。下方會(huì)進(jìn)行詳細(xì)的敘述。

下面我們就來(lái)仔細(xì)的聊一下combineLatest()的使用方式、具體的代碼實(shí)現(xiàn)以及合并信號(hào)量的工作原理。下方的使用示例我們還是與《iOS開發(fā)之ReactiveCocoa下的MVVM》這篇博客中聊combineLatest()時(shí)使用是示例相同,只不過(guò)我們是使用的Swift語(yǔ)言寫的,詳情如下。

 

一、combineLatest()使用

下方代碼片段是combineLatest()使用方式,介紹如下:

  • 首先創(chuàng)建兩個(gè)信號(hào)量,一個(gè)是signalString,用來(lái)

    網(wǎng)友評(píng)論