Masonry拓展-鏈?zhǔn)骄幊?& 函數(shù)式編程

? ? ? 基于自動(dòng)布局的第三方庫 - Masonry,因?yàn)閕OS做屏幕適配約束的時(shí)候甩鳄,用純代碼寫的UI布局經(jīng)常用這個(gè)恬偷,但是底層還真是確實(shí)沒去了解,也不清楚為什么Masonry可以鏈?zhǔn)降牟粩嗟耐ㄟ^'.'去調(diào)用方法逢慌,但是這種事情悠轩,其實(shí)也不用特意為了面試去了解,因?yàn)槲腋杏X攻泼,當(dāng)知識(shí)積累到一定程度的時(shí)候火架,對(duì)這方面有探索的欲望的時(shí)候,自然就會(huì)想起了解去探究忙菠。

?基于Masonry用法:

這個(gè)make.left.mas_equalTo(self.view).mas_offset(10).... 專業(yè)名詞叫鏈?zhǔn)胶瘮?shù)何鸡。

但是我們知道,OC中我們常用的方法的調(diào)用都是 [self loadData]這種牛欢,"[]"調(diào)用骡男,至于“()”小括號(hào),印象中好像只有Block的調(diào)用會(huì)使用小括號(hào)傍睹。

Block想必學(xué)OC的沒人會(huì)不熟悉隔盛,簡單的Block格式


驗(yàn)證思路實(shí)現(xiàn):

1.新建一個(gè)Monkey(程序猿)的Object類,

2.聲明程序猿的兩個(gè)方法(工作work 和 玩play)

3.在ViewController中實(shí)現(xiàn)這兩個(gè)方法:


我們會(huì)發(fā)現(xiàn)焰望,由于我們的-play 和-work方法的返回值都是void骚亿,單獨(dú)執(zhí)行的時(shí)候,-play 和 ?-work都可以順利執(zhí)行熊赖,但是一旦形成鏈?zhǔn)降男问嚼赐溃鸵驗(yàn)榉祷刂祮栴}(是void),而無法繼續(xù)調(diào)用該方法:

4.設(shè)置方法的返回值-->如果 -play 執(zhí)行完,返回的是一個(gè)Monkey 對(duì)象俱笛,這個(gè)對(duì)象就可以繼續(xù)調(diào)用work方法--> [monkey work]:

-->此時(shí)發(fā)現(xiàn)捆姜,已經(jīng)可以實(shí)現(xiàn)鏈?zhǔn)降姆椒ㄕ{(diào)用了!但是是[]迎膜,不是()-->函數(shù)

5.此時(shí)Block就要派上用場(chǎng)了

-->注意泥技,這里的void并不是不需要返回值!

warning: control reaches end of non-void function

它的意思是:控制到達(dá)非void函數(shù)的結(jié)尾磕仅。就是說你的一些本應(yīng)帶有返回值的函數(shù)到達(dá)結(jié)尾后可能并沒有返回任何值珊豹。這時(shí)候,最好檢查一下是否每個(gè)控制流都會(huì)有返回值榕订。

1>.聲明一個(gè)Block

2>.調(diào)用Block-->為了實(shí)現(xiàn)函數(shù) “()”

我們發(fā)現(xiàn)店茶,可以實(shí)現(xiàn)函數(shù)了--> monkey.work2();但是不能實(shí)現(xiàn)鏈?zhǔn)秸{(diào)用劫恒,因?yàn)檫@個(gè)Block的返回值是void贩幻,所有我們還必須做一下修改-->返回值屬性設(shè)置為Monkey對(duì)象

6.定義一個(gè)帶返回值(Monkey對(duì)象的Block)

7.實(shí)現(xiàn)鏈?zhǔn)?函數(shù) 的調(diào)用

小tips:-->注意為什么能一直調(diào)用:返回值類型!

小結(jié):當(dāng)然Block還有帶參數(shù)的两嘴,但是這里主要不是講Block丛楚,而是將一種學(xué)習(xí)方法,就是當(dāng)你要研究一個(gè)框架底層方法(例如:我這里的Masonry)憔辫,發(fā)現(xiàn)里面的寫法我們沒接觸過趣些,這時(shí)候就會(huì)促使我們?nèi)チ私猓ド钊敕∧K形覀€(gè)人感覺新手小白不一定要去特別深入地學(xué)習(xí)底層框架知識(shí)喧务,平時(shí)知道怎么使用就行,等到了一定的積累枉圃,對(duì)某些技術(shù)有興趣的時(shí)候功茴,這時(shí)候帶著疑問帶著興趣去學(xué),去了解底層方法的寫法(比如這里的鏈?zhǔn)胶瘮?shù))孽亲,事倍功半坎穿。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市返劲,隨后出現(xiàn)的幾起案子玲昧,更是在濱河造成了極大的恐慌,老刑警劉巖篮绿,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孵延,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡亲配,警方通過查閱死者的電腦和手機(jī)尘应,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門惶凝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人犬钢,你說我怎么就攤上這事苍鲜。” “怎么了玷犹?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵混滔,是天一觀的道長。 經(jīng)常有香客問我歹颓,道長坯屿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任巍扛,我火速辦了婚禮愿伴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘电湘。我一直安慰自己,他們只是感情好鹅经,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布寂呛。 她就那樣靜靜地躺著,像睡著了一般瘾晃。 火紅的嫁衣襯著肌膚如雪贷痪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天蹦误,我揣著相機(jī)與錄音劫拢,去河邊找鬼。 笑死强胰,一個(gè)胖子當(dāng)著我的面吹牛舱沧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播偶洋,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼熟吏,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了玄窝?” 一聲冷哼從身側(cè)響起牵寺,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎恩脂,沒想到半個(gè)月后帽氓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡俩块,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年黎休,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浓领。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奋渔,死狀恐怖镊逝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嫉鲸,我是刑警寧澤撑蒜,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站玄渗,受9級(jí)特大地震影響座菠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜藤树,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一浴滴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岁钓,春花似錦升略、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钧大,卻和暖如春翰撑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背啊央。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工眶诈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瓜饥。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓逝撬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親乓土。 傳聞我的和親對(duì)象是個(gè)殘疾皇子球拦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容