W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
什么是組播?組播是多個訂閱者共同享用一個訂閱信號的術語。通過上一節(jié)的內(nèi)容我們知道在默認的情況下,信號是冷的。但是有時候,我們并不想讓冷信號在每一次被訂閱時工作。這通常在邊界效應、訂閱所要執(zhí)行的任務代價昂貴或者只能以其他方式在適當?shù)臅r間執(zhí)行時有這種需求。這時網(wǎng)絡請求浮現(xiàn)在腦海中。
所以與其從這樣的信號中創(chuàng)建一個RACMulticastConnection
不如使用RACSignal
的publish
方法或者multicast:
方法。前者可以創(chuàng)建一個組播連接,后者也一樣為您創(chuàng)建一個組播連接但需要一個RACSubject
參數(shù)。當它被調(diào)用時這個RACSubject可以通過底層信號發(fā)送一個值出來。任何對這個值有興趣的,都可以用這個從底層信號發(fā)送一個值到連接的信號來替代你提供的RACSubject
,這個信號恰好就等同于你的這個RACSubject
.
為了說明這種不同,請參考下面的插圖:
由于信號是冷啟動的,每增加一個訂閱者,她就會被執(zhí)行一次。這種情況是我們不希望看到的,可以使用組播連接來改善。
信號的組播連接訂閱,當它傳送了一個新值的時候,是通過公共頻道來傳送給信號的。我們可以根據(jù)自己的喜好訂閱該信號,但這個信號在訂閱相關的操作上有且僅會執(zhí)行一次,而不是像以前那樣增加一個訂閱者這個信號上就執(zhí)行一次訂閱相關的操作。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: