一個(gè)不務(wù)正業(yè)的iOS碼農(nóng)之iOS開篇(一)

? ? 這個(gè)是開篇的第一篇,也就是說會(huì)有第二第三篇,等等. 但是呢, 也有可能就沒有開篇的第二和之后的篇幅了.(請(qǐng)注意我的昵稱,里面有個(gè)'鴿',不鴿你們鴿誰).

? ? 好了,第一篇的話呢,先說說iOS里面的一個(gè)概念就是Block. 這是Objective-c里面的說法,那么在swift里面相應(yīng)的概念是Closure,翻譯出來叫閉包. 同時(shí)Kotlin 和 javascript 也是有這個(gè)概念的,在Kotlin 里面呢叫l(wèi)amada表達(dá)式.

? ? 好吧,這里第一篇里面要說的呢是Objective-c里面的Block.那這里就有人問了,那你提那么多其他語言里面的概念來干什么呢?Php里面也有Closure的呀! 對(duì)不起我沒接觸過Php.并且在接下來的篇幅里(可能不存在的篇幅)會(huì)逐個(gè)比較Nodejs(ES6) swift 和Objective-c里面的這個(gè)閉包的相同和不同以及相應(yīng)的特色.(Kotlin 里面的閉包呢,由于剛剛接觸不久,我也會(huì)盡力找資料的!!! 但是也有可能不會(huì)找!)

? ?言歸正傳,word is shit, show me the code!

fliter函數(shù)

? ? 好了, 那么怎么用呢?看下面!


調(diào)用方法

? 這個(gè)結(jié)果呢是:[@83,@32]

上面的是將Block當(dāng)做返回值來用的. Block當(dāng)做參數(shù)來也很好使的,拿做動(dòng)畫的方法來說吧!看下面


動(dòng)畫方法


? ? 相信這個(gè)都是用過的,那么做為參數(shù)來說怎么寫呢?

這里的話就要分為兩個(gè)部分來說了,因?yàn)锽lock就和函數(shù)基本是一樣的.就是需要定義,和調(diào)用.那么,這樣的話呢,我們就要把Block的定義交給調(diào)用者來定義,我們?cè)诤线m的時(shí)機(jī)執(zhí)行這個(gè)Block就可以讓Block達(dá)到預(yù)期的效果了!具體看下面!

?
示范代碼

看上面的調(diào)用是不是和用AFN一樣了!

好了上面就是Block的基礎(chǔ)用法了.下面開始說一說Block的細(xì)節(jié)東西了!

先看一個(gè)Block

Block示例

然后用clang來重新編譯一下,

方法列表



參數(shù)獲取

好上面兩張圖片,我們重點(diǎn)放在第一張那個(gè)方法列表的圖片上,下面的那張暫時(shí)不說.

你們看到了,這個(gè)是我這個(gè)類的方法列表,你們有些調(diào)皮的就會(huì)問了, 這個(gè)你怎么就知道是方法列表了?

你們那個(gè)結(jié)構(gòu)體的命名嘛!BlockTestObjc_IMPL,BlockTestObjc是我這個(gè)類imp是方法實(shí)現(xiàn),L用鍵盤也能猜出來是list呀.所以說命名很重要哇.

這樣的話也就是說其實(shí)最后Block編譯之后應(yīng)該就是一個(gè)函數(shù)指針了,或者是說相當(dāng)于一個(gè)函數(shù)指針,因?yàn)檫@個(gè)只是clang重編譯出來的,我不能確定一定是最后的實(shí)現(xiàn),但是還是有很大的參考價(jià)值(今天時(shí)間不早了, 暫時(shí)先寫到這里,未完待續(xù)...)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末枫耳,一起剝皮案震驚了整個(gè)濱河市段直,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌湃缎,老刑警劉巖糠排,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舵稠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡入宦,警方通過查閱死者的電腦和手機(jī)哺徊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乾闰,“玉大人落追,你說我怎么就攤上這事⊙募纾” “怎么了轿钠?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵巢钓,是天一觀的道長。 經(jīng)常有香客問我疗垛,道長症汹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任继谚,我火速辦了婚禮烈菌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘花履。我一直安慰自己芽世,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布诡壁。 她就那樣靜靜地躺著济瓢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妹卿。 梳的紋絲不亂的頭發(fā)上旺矾,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音夺克,去河邊找鬼箕宙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛铺纽,可吹牛的內(nèi)容都是我干的柬帕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼狡门,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼陷寝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起其馏,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤凤跑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后叛复,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仔引,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年褐奥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咖耘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抖僵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出缘揪,到底是詐尸還是另有隱情耍群,我是刑警寧澤义桂,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站蹈垢,受9級(jí)特大地震影響慷吊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜曹抬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一溉瓶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谤民,春花似錦堰酿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至为牍,卻和暖如春哼绑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碉咆。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工抖韩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人疫铜。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓茂浮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親块攒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子励稳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

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

  • Block基礎(chǔ)回顧 1.什么是Block? 帶有局部變量的匿名函數(shù)(名字不重要囱井,知道怎么用就行)驹尼,差不多就與C語言...
    Bugfix閱讀 6,766評(píng)論 5 61
  • 禪與 Objective-C 編程藝術(shù) (Zen and the Art of the Objective-C C...
    GrayLand閱讀 1,628評(píng)論 1 10
  • 前言 Blocks是C語言的擴(kuò)充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了這...
    小人不才閱讀 3,768評(píng)論 0 23
  • 一庞呕、Objective-C發(fā)展史 Objective-C從1983年誕生新翎,已經(jīng)走過了30多年的歷程。隨著時(shí)間的推移...
    沒事蹦蹦閱讀 5,840評(píng)論 12 34
  • 今天你要走了住练, 跟自由的鳥兒一起地啰。 去那藍(lán)天白云上, 留下自己的足跡讲逛。 我打開了心里的牢籠亏吝, 給你插上翅膀, 飛吧...
    CZP_閱讀 361評(píng)論 2 3