使用ReactiveCocoa,似乎有两种方法让订阅者从信号中接收相同的值,而不是重新触发生成这些值的任何操作:通过RACReplaySubject或RACMulticastConnection.
以下是RACReplaySubject的标题文档:
重播主题保存发送的值(达到其定义的容量)并将其重新发送给新订户.它还将重播错误或完成.
对于RACMulticastConnection:
多播连接封装了向许多订户共享信号订阅的想法.如果对基础信号的订阅涉及副作用或不应多次调用,则通常需要这样做.
多播信号仅在
-[RACMulticastConnection connect]被呼叫时订阅 .在此之前,不会发送任何值signal.了解-[RACMulticastConnection autoconnect]如何-[RACMulticastConnection connect]自动调用.请注意,您不应手动创建RACMulticastConnection.而是使用
-[RACSignal publish]或-[RACSignal multicast:].
有人可以提供关于何时使用RACReplaySubject或RACMulticastConnection的简单指南?