鏈式程式設計,顧名思義就是一條鏈子,一直.下去。
例如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