1. 为什么要用Multicast?
RACMulticastConnection类的注释如下:
/// A multicast connection encapsulates the idea of sharing one subscription to a
/// signal to many subscribers. This is most often needed if the subscription to
/// the underlying signal involves side-effects or shouldn't be called more than
/// once.
从注释中可以知道,Multicast的作用是让side effect代码只被执行一次。我们知道,普通Signal每次被subscribe,都会执行side effect代码。如果side effect代码性能开销很大并且重复执行结果相同,那么确保side effect代码只被执行一次就很有意义,Multicast就是做的这个事情。