ReactiveCocoa這個(gè)框架是做什么用的本篇博客就不做過多贅述了,什么是“響應(yīng)式編程”也不多聊了,自行Google吧。本篇博客的主題是解析ReactiveCocoa框架中的核心模塊ReactiveSwift中的兩個(gè)核心類的實(shí)現(xiàn),也就是對(duì)Event和Observer這兩個(gè)類進(jìn)行解析。之所以把這兩個(gè)類放在一塊聊,是因?yàn)檫@兩個(gè)類比較獨(dú)立,可以說是ReactiveSwift中的兩個(gè)原子類。Event確切的說是一個(gè)枚舉,其中有幾種事件,而Observer類的對(duì)象就是這些事件的發(fā)送者。所以把這兩個(gè)類放在一塊是比較合適的。
當(dāng)然確切的說,本篇博客是對(duì) ReactiveSwift框架 的部分解析,而ReactiveCocoa這個(gè)框架又是在ReactiveSwift框架的基礎(chǔ)上搭建起來的,所以我們先來看一下ReactiveSwift這個(gè)框架中的代碼實(shí)現(xiàn)。當(dāng)然,我們之前發(fā)表過ReactiveCocoa的相關(guān)博文,如《iOS開發(fā)之ReactiveCocoa下的MVVM》,該篇博客的主題還是ReactiveCocoa框架的應(yīng)用,而本篇博客或者說ReactiveCocoa源碼解析系列博客是對(duì)ReactiveCocoa框架實(shí)現(xiàn)的深度解析。當(dāng)然這種深度解析有一部分是Swift語言層面的,因?yàn)镽eactiveCocoa框架中有好多Swift語言的高級(jí)用法,當(dāng)然還有一些架構(gòu)層面的,通過源碼實(shí)現(xiàn),我們要分析出這樣設(shè)計(jì)的好處以及優(yōu)點(diǎn)。
拋去“響應(yīng)式編程”的概念,ReactiveCocoa的本質(zhì)還是對(duì)“觀察者模式”的使用,關(guān)于觀察者模式,請(qǐng)參考之前的博客《設(shè)計(jì)模式(二):自己動(dòng)手使用“觀察者模式”實(shí)現(xiàn)通知機(jī)制》。也可以說ReactiveCocoa是“觀察者模式”應(yīng)用中比較牛X的一個(gè)框架。當(dāng)然,框架在編碼實(shí)現(xiàn)時(shí)還用到了其他設(shè)計(jì)模式,在解析到相關(guān)內(nèi)容時(shí),我們?cè)趯?duì)其進(jìn)行概述。
當(dāng)然,本篇博客是對(duì)ReactiveSwift源碼的解析,也就是說你可以在你的工程中僅僅的引入 ReactiveSwift框架 ,GitHub地址為:
網(wǎng)友評(píng)論