對于ReactiveCocoa個人的理解

什么是ReactiveCocoa?

ReactiveCocoa(其簡稱為RAC)是由Github 開源的一個應用于iOS和OS X開發的新框架。RAC具有函數式編程和響應式編程的特性。

是在iOS平臺上對FRP的實現。FRP的核心是信號,信號在ReactiveCocoa(以下簡稱RAC)中是通過RACSignal來表示的,信號是數據流,可以被綁定和傳遞。它主要吸取了.Net的 Reactive Extensions的設計和實現。

   大神Leezhong在博客中提到的比喻,可以更好地幫我們理解ReactiveCocoa.
可以把信號想象成水龍頭,只不過里面不是水,而是玻璃球(value),
直徑跟水管的內徑一樣,這樣就能保證玻璃球是依次排列,
不會出現并排的情況(數據都是線性處理的,不會出現并發情況)。
水龍頭的開關默認是關的,除非有了接收方(subscriber),才會打開。
這樣只要有新的玻璃球進來,就會自動傳送給接收方。
可以在水龍頭上加一個過濾嘴(filter),不符合的不讓通過,
也可以加一個改動裝置,把球改變成符合自己的需求(map)。
也可以把多個水龍頭合并成一個新的水龍頭(combineLatest:reduce:),
這樣只要其中的一個水龍頭有玻璃球出來,
這個新合并的水龍頭就會得到這個球。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容