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