之前沒有寫部落格的習慣,總是一些**塊存在電腦,u盤,雲盤,就好像收藏古物一樣,和同事朋友交流討論到某個功能時也難一時看到**。今後開始和剛入門的菜鳥們分享吧。
它是一種比較特殊的資料型別。它可以儲存一段**,在合適的時候取出來呼叫。
定義格式:返回值型別
(^block
變數名)(
形參列表
) = ^(
形參列表
) ;//牢記定義格式 其餘的就像c方法一樣呼叫
呼叫格式:block變數名(形參列表);
現在針對以下三種情況(按照組合,應該四種。沒引數有返回值的就免了 貌似沒啥意義)分別給出定義示例和呼叫。
1.
無引數無返回值的
block:
void(^noparamsnoback)()=^()
//呼叫:noparamsnoback();
2.
有引數無返回值的
block:
void(^paramsnoback)(int a,int b)=^();
呼叫:paramsnoback(1+1);
3.
有引數有返回值的
block:
int(^paramsandback)(int a,int b)=^();
return a+b;//有return哦
};呼叫:paramsandback(1,1);
得了,今天到這吧
IOS中 Block簡介與用法(一)
block簡介 block的實際行為和function很像,最大的差別是在可以訪問同乙個scope的變數值。block實體形式如下 傳入引數列 block實體開頭是 接著是由小括號所包起來的引數列 比如 int a,int b,int c 行為主體由大括號包起來,專有名字叫做block litera...
IOS中 Block簡介與用法(一)
block簡介 block的實際行為和function很像,最大的差別是在可以訪問同乙個scope的變數值。block實體形式如下 傳入引數列 block實體開頭是 接著是由小括號所包起來的引數列 比如 int a,int b,int c 行為主體由大括號包起來,專有名字叫做block litera...
IOS中 Block簡介與用法(一)
block簡介 block的實際行為和function很像,最大的差別是在可以訪問同乙個scope的變數值。block實體形式如下 傳入引數列 block實體開頭是 接著是由小括號所包起來的引數列 比如 int a,int b,int c 行為主體由大括號包起來,專有名字叫做block litera...