【iOS】鏈式程式設計的真正含義

小豬熊發表於2017-12-13

鏈式思維

鏈式程式設計,顧名思義就是一條鏈子,一直.下去。

例如person.name(@"張三").age(25).height(175);

這裡我們思考一下

1、能.出來的應該是屬性 2、屬性後面有個小括號,裡面傳參,應該是block 3、能繼續. 那麼前一個屬性的返回值應該是該物件本身

帶著這3點思維,我們試著玩一下鏈式程式設計

定義一個Person類,寫幾個符合鏈式程式設計的屬性
@property (nonatomic, copy, readonly) Person *(^name)(NSString *);

-(Person *(^)(CGFloat))height;
-(Person *(^)(NSUInteger))age;
複製程式碼

解釋一下上面的程式碼:看著是一個屬性兩個方法,其實你在仔細看下,下面的那兩個方法是不是屬性的Getter方法呢,所以怎麼寫,看自己的喜歡了。

使用
Person *person = [[Person alloc]init];
person.name(@"張三").age(25).height(175);
複製程式碼

以上就是ios的一個鏈式程式設計的思維。

demo下載地址:https://github.com/xiaozhuxiong121/ChainProgramming

相關文章