91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-07-15 21:42:41 來源:網絡 閱讀:612 作者:藍鷗蔣杏飛 欄目:移動開發

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

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

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

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

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

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

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

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

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

Block具有將臨時函數體創建為表達式的優勢。Apple文檔中指出:

Block是符合如下要求的匿名內聯的代碼集:

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

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


聲明和使用Block

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

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

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

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

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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大埔区| 深圳市| 南江县| 迁安市| 溧水县| 汽车| 武定县| 简阳市| 乌拉特后旗| 丰宁| 宁安市| 白沙| 延吉市| 墨玉县| 旌德县| 五指山市| 武平县| 广宁县| 金平| 桓仁| 玛纳斯县| 朝阳县| 上杭县| 遂昌县| 黄浦区| 南安市| 枣强县| 克什克腾旗| 石城县| 寻甸| 鄯善县| 达孜县| 琼海市| 龙南县| 磴口县| 中江县| 浮梁县| 当雄县| 焦作市| 陆良县| 金山区|