上篇博客我們聊完SignalProducer結(jié)構(gòu)體的基本實(shí)現(xiàn)后,我們接下來就聊一下SignalProducerProtocol延展中的start和lift系列方法。SignalProducer結(jié)構(gòu)體的方法擴(kuò)展與Signal的擴(kuò)展相同,都是面向協(xié)議的擴(kuò)展。首先創(chuàng)建了一個(gè)SignalProducerProtocol協(xié)議,使SignalProducer在延展中遵循SignalProducerProtocol協(xié)議。然后我們?cè)賹?duì)SignalProducerProtocol進(jìn)行擴(kuò)展。這樣一來,SignalProducer結(jié)構(gòu)體就擁有了我們?cè)?span style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);">SignalProducerProtocol協(xié)議中擴(kuò)展的方法了。這也是我們之前所說的“面向協(xié)議的擴(kuò)展”。
今天我們就來聊一下SignalProducerProtocol協(xié)議擴(kuò)展中的start和lift系列方法。無論是start系列方法還是lift系列方法,都是在SignalProducer的startWithSignal(setup)核心方法的基礎(chǔ)上構(gòu)建的。而關(guān)于startWithSignal(setup)方法的具體實(shí)現(xiàn),上篇博客給出了相應(yīng)的介紹并給出了該核心方法的使用方式,在此就不做過多贅述了。
而在SignalProducerProtocol協(xié)議擴(kuò)展中的方法,基本上全是對(duì)b方法的封裝,只不過使用場(chǎng)景和功能更為專一,用法更為方便。接下來我們就來看一下SignalProducerProtocol協(xié)議擴(kuò)展的start和lift系列方法。