iOS培訓篇——iOS中Block的使用方法

藍鷗iOS培訓推薦:iOS開發(fā)學習中要用到很多語句,很多方式,其中block就是其中的一種,block是引進的對C語言的一種擴展,用來實現(xiàn)匿名函數(shù)的特性。那么下面的內(nèi)容會對你很有幫助的,一定要耐心看完哦!

成都創(chuàng)新互聯(lián)成都網(wǎng)站建設按需設計,是成都網(wǎng)站推廣公司,為戶外休閑椅提供網(wǎng)站建設服務,有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設計服務:原型圖制作、網(wǎng)站創(chuàng)意設計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站推廣熱線:028-86922220

block能幫助我們組織獨立的代碼段,除此之外還能提高復用性和可讀性。有很多的AppleAPI都使用了block。

那么到底block是啥樣的呢?一起來了解一下:

利用^操作符聲明一個block變量,意味著一個block的開始

iOS培訓篇——iOS中Block的使用方法

在上面這一段程序中將block聲明為一個變量,那么就可以把它當做一個函數(shù)來用了

iOS培訓篇——iOS中Block的使用方法

那么從上面的情況可以看出,一般時候大家都會以內(nèi)聯(lián)方式來用block,比如在一個變量中。API不是使用block在一個對象集合上執(zhí)行某種操作,就是將這一操作作為完成后的回調(diào)

iOS培訓篇——iOS中Block的使用方法

Block具有將臨時函數(shù)體創(chuàng)建為表達式的優(yōu)勢。Apple文檔中指出:

Block是符合如下要求的匿名內(nèi)聯(lián)的代碼集:

和函數(shù)一樣具有一個指定類型的參數(shù)列表
有一個可以推導或聲明的返回值類型
可以從它被定義的詞義范圍中捕捉狀態(tài)
可以在需要的時候改變詞義范圍的狀態(tài)
可以和相同的詞義范圍中定義的其他的Block共享更改的可能。
可以在詞義范圍(堆棧幀)被銷毀后繼續(xù)共享和修改該詞義范圍(堆棧幀)的狀態(tài)。

Block是一個自包含的小代碼段,封裝了用于遍歷(線性遍歷)或者回調(diào),除此之外,還能夠一起執(zhí)行的任務單元。


聲明和使用Block

那么教了大家應該怎樣將一個Block聲明為變量,并將其作為一個函數(shù)使用:

iOS培訓篇——iOS中Block的使用方法

有想法的同學也可以傳入一個Block作為一個參數(shù),并不是利用上面的方式去聲明它們,這樣就可以在需要將block作為參數(shù)的時候以內(nèi)聯(lián)代碼的方式簡單地實現(xiàn)

iOS培訓篇——iOS中Block的使用方法

從上面這些大家能夠看出一個內(nèi)聯(lián)的block代碼段占據(jù)了最后一個參數(shù)的地方。Cocoa列出了多個block的使用方法,那么就可以傳入block作為方法的參數(shù):

iOS培訓篇——iOS中Block的使用方法

終于這一篇寫完了,這一章節(jié)內(nèi)容有點多,希望大家能夠耐心的看完,會對你幫助很多的。

網(wǎng)頁題目:iOS培訓篇——iOS中Block的使用方法
當前URL:http://bm7419.com/article2/isgjic.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、外貿(mào)建站、電子商務、定制開發(fā)網(wǎng)站內(nèi)鏈、品牌網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設