掌握了reactiveCocoa的基本使用后库说,被響應(yīng)式編程
的思想所震撼狂鞋,顛覆了我自己的代碼寫法,于是乎想了解下與之媲美的函數(shù)式編程
- 一個很常見的第三方
Masonry
潜的,它的美妙之處在于代碼的精簡及點(diǎn)語法的靈活拼接骚揍,例如:
[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(90, 90));
make.centerX.equalTo(weakSelf.view);
make.top.width.offset(90);
}];
無需知道內(nèi)部實(shí)現(xiàn),關(guān)鍵類MASConstraintMaker
也不用創(chuàng)建啰挪,只用傳入一個需要改變的對象信不,再加上參數(shù)便實(shí)現(xiàn)我們的需求,這應(yīng)該是函數(shù)式編程的核心吧(新手不對求輕噴)
- 我們的目的就是仿照
Masonry
寫出一個靈活亡呵、簡潔的方法抽活,逼格十足,讓調(diào)用者從內(nèi)心發(fā)揮贊嘆锰什。 - 編寫一個類下硕,可以實(shí)現(xiàn)各種基礎(chǔ)控件的的創(chuàng)建
UIView *tf = [CreatControls creatControls:^(CreatControls<CreatControlsProtocol> *controls) {
controls.textfield.placeholder(@"測試3").backColor(backColor).rect(frame3).titleColor(textColor).font(font1);
}];
- 文章水平有限,編程理解不深汁胆,胡寫一通梭姓,推薦大家先看下@jieme的文章,簡直棒極了嫩码,由衷感謝他 文章鏈接
最后附上demo誉尖,可與@jieme的文章對照一起看,希望能幫到你
demo地址
喜歡請給我GitHub一個星星