最近無意間看到一個視頻講的ReactiveObjC, 覺得挺好用的 但聽完后只是了解個大概.
在網(wǎng)上找了些文章, 有的寫的比較易懂但看完還是沒覺得自己能比較好的使用RAC, 有的甚至讓我看不下去
這兩天剛好公司項目交付閑下來, 想自己去啃下官方文檔
ReactiveCocoa是一個基于函數(shù)響應(yīng)式編程的OC框架.
那么什么是函數(shù)式響應(yīng)式編程呢?概念我就不講了 因為我講的也不一定準確, 大家可以去baidu看看大神們的解釋
下面我大概演示下響應(yīng)式編程的樣子
Masonry是比較常見的一個響應(yīng)式框架, 它的的用法舉例如下:
make.centerY.equalTo(self.view).offset(100);
大家注意它的用法, 點號調(diào)用一個事件或?qū)傩院罂梢越又c號調(diào)用, 這里一個比較明顯的函數(shù)響應(yīng)式編程的好處就是我們可以把一些要使用的連貫的或者有先后順序的調(diào)用方法和事件連在一起, 邏輯清晰明了的完成代碼.
那么要如何實現(xiàn)這樣的調(diào)用方式呢?
centerY.equalTo(self.view)這個能執(zhí)行的話equalTo就必須是一個返回對象的block
下面試試自己來實現(xiàn)這個,
建一個Person對象, 加上跑步, 走路的方法
Class: Person; Method: run; walk;
我們拆分成幾個步驟來做, 首先實現(xiàn)
[[person run] walk];先跑, 跑累了再走
要實現(xiàn)這樣的調(diào)用的話, run就必須返回person, 為了還能繼續(xù)接著這樣調(diào)用walk也要返回person
好了, 思路就很清晰了, 我們上代碼
#import <Foundation/Foundation.h>@interface Person : NSObject- (Person *)run;- (Per