IOS中 Block用法高階一

2021-07-11 22:57:31 字數 924 閱讀 4450

之前沒有寫部落格的習慣,總是一些**塊存在電腦,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...