上篇博客我们聊完SignalProducer结构体的基本实现后,我们接下来就聊一下SignalProducerProtocol延展中的start和lift系列方法。SignalProducer结构体的方法扩展与Signal的扩展相同,都是面向协议的扩展。首先创建了一个SignalProducerProtocol协议,使SignalProducer在延展中遵循SignalProducerProtocol协议。然后我们再对SignalProducerProtocol进行扩展。这样一来,SignalProducer结构体就拥有了我们在SignalProducerProtocol协议中扩展的方法了。这也是我们之前所说的“面向协议的扩展”。
今天我们就来聊一下SignalProducerProtocol协议扩展中的start和lift系列方法。无论是start系列方法还是lift系列方法,都是在SignalProducer的startWithSignal(setup)核心方法的基础上构建的。而关于startWithSignal(setup)方法的具体实现,上篇博客给出了相应的介绍并给出了该核心方法的使用方式,在此就不做过多赘述了。
而在SignalProducerProtocol协议扩展中的方法,基本上全是对b方法的封装,只不过使用场景和功能更为专一,用法更为方便。接下来我们就来看一下SignalProducerProtocol协议扩展的start和lift系列方法。