使用ReactiveCocoa,似乎有兩種方式讓訂戶從信號接收相同的值,而不是重新觸發任何生成這些值的操作:通過RACReplaySubject或RACMulticastConnection。何時使用RACReplaySubject與RACMulticastConnection?
下面是頭文檔爲RACReplaySubject:
重播主題保存它被髮送的值(直到其限定容量) 並重新發送那些新用戶。它也會重播一個錯誤或者 完成。
而對於RACMulticastConnection:
組播連接的封裝共享一個訂製了 信號到許多用戶的想法。如果訂購 底層信號涉及副作用或者不應該被調用超過 一次,這通常是需要的。
只有在調用
-[RACMulticastConnection connect]
時纔會訂閱多播信號。在此之前,將不會發送到signal
。請參閱-[RACMulticastConnection autoconnect]
瞭解如何自動調用-[RACMulticastConnection connect]
。請注意,您不應手動創建RACMulticastConnection。請使用
-[RACSignal publish]
或-[RACSignal multicast:]
。
有人可以提供簡單指引,當你將使用RACReplaySubject或RACMulticastConnection?
非常好,謝謝! – Poulsbo 2013-03-21 19:32:51
RACMulticastConnection適用於WebSocket客戶端的「onMessage」塊嗎?那麼,用戶可以適當地過濾不同的數據類型會怎麼做? – 2014-11-09 10:45:14
@MaxAlexander你可能想爲此打開一個單獨的問題,因爲我不認爲我可以在沒有更多細節的情況下回答它。 – 2014-11-10 18:39:42