block概念:
1.內聯函式從源**層看,有函式的結構,而在編譯後,卻不具備函式的性質,編譯時,類似巨集替換,使用函式體替換呼叫處的函式名
2.block封裝了一段**,可以在任何時候執行
3.block可以作為函式引數或者函式的返回值,而其本身又可以帶輸入引數或返回值
用途:在多執行緒、非同步任務、集合遍歷、集合排序、動畫轉場用到很多。
用法:1> 如何定義block變數
int (^sumblock)(int, int);
void (^myblock)();
2>如何利用block封裝**
^(int a, int b) ;
3.block訪問外部外面變數
block內部可以訪問外面的變數
預設情況下,block內部不能修改外面的區域性變數
給區域性變數加上_block關鍵字,這個區域性變數就可以在block內部修改
4.利用typedef定義block型別
typedef int (^myblock)(int, int);
以後就可以利用myblock這種型別來定義block變數
Block 學習筆記
一 什麼是block?a block is an anonymous inline collectionof code,and sometimes also called a closure 閉包是一種函式,它能夠讀取其它函式的內部變數。block 也相當於內聯函式,執行速度快,簡單方便 二 為什麼...
Block詳細學習
之前對block一知半解,知道用 block,weak等去解決問題,卻沒有去深究過,這篇文章是對學習block的總結 要看block轉換為c 原始碼,用下面的方法轉換 cd到.m所在資料夾,輸入clang rewrite objc m,就會在當前資料夾內自動生成對應的 cpp檔案,雙擊開啟即可 看下...
Objective C學習筆記 block
一 基本概念 1 block的作用 block封裝了一段 在任何時候都可以使用。block的標誌是 2 block的特點 block可以作為函式引數或者函式的返回值,而其本身又可以帶輸入引數或返回值,和函式很像。二 基本使用 1 定義block變數 1 無形參 無返回值 void myblock 定...