IOS block學習筆記

2021-06-26 11:53:43 字數 796 閱讀 5095

天天看別人的block,各種羨慕嫉妒恨。狠下心來 自己也玩玩block,看看這水深不深。

block 宣告格式:

return_type (^block_name)(param_type,param_type,,……)

例:int (^personblock)(int,int)

block 定義格式

^return_type (param_type param_name,param_type param_name,……)

block 還有另外一種不同的定義方法。 以 ^ 符號起始,後面跟隨著引數,這裡的引數必須有引數名, 還必須和它要賦值到的 block 宣告中引數列表裡面的引數型別和順序相匹配。下面是實際的**。

示例:^(int num1,int num2)

宣告和定義結合起來就是 蘋果官方的例子:

int multiplier = 7;

int (^myblock)(int) = ^(int num));

除錯:你可以在blocks中設斷點並單步跟蹤. 你也可以在gdb裡直接用invoke-block命令呼叫blocks,如下所示:

$ invoke-block myblock 10 20 

如果要傳遞c的字串,你必須用引用括起來, 比如把 

this string傳給 

dosomethingwithstringblock, 得這麼寫:

$ invoke-block dosomethingwithstring "\"this string\"" 

IOS block學習筆記

天天看別人的block,各種羨慕嫉妒恨。狠下心來 自己也玩玩block,看看這水深不深。block 宣告格式 return type block name param type,param type,例 int personblock int,int block 定義格式 return type p...

IOS block簡單講解

block定義 int sum int a,int b int a,int b 返回型別 blockname 引數型別 引數1,引數型別 引數2 引數型別 引數1,引數型別 引數2 呼叫block int n n sum 10,15 nslog a b i n typedefint mysum in...

iOS block 內容詳解

viewcontroller.m test addentrydictionary 01 created by jeffasd on 16 6 26.import viewcontroller.h typedef int myblock int,int typedef int tyblock int,...