您好,登錄后才能下訂單哦!
<span style="font-size:24px;">為什么要使用block變量呢?
因為當我們的程序比較繁雜的時候,我們在一個函數中要調用一個函數,還需要在外邊來定義,實現,很不方便,但是有了block變量我們就可以在一個函數的內部來定義一個block變量,相當于又在函數的內部來定義了一個函數.
int (^max)(int x,int y) = ^(int x,int y)//求兩個數的最大值
{
return x > y ? x :y;
};
NSLog(@"%d",max(5,10));
int (^min)(int x,int y) =^(int x,int y)//求兩個數的最小值
{
return x > y ? y : x;
};
NSLog(@"%d",min(5,10));</span>
[cpp] view plaincopy
<pre name="code" class="cpp"><span style="font-size:24px;">其中block變量的類型為:int(^)(int x ,int y);
max 為變量名,一般看函數是什么類型,只需要把函數名去掉然后剩下的就是函數的類型.
^(int x ,int y)
{
return x + y;
}
上面的對block變量進行初始化.</span>
[cpp] view plaincopy
<span style="font-size:24px;">當在block內部使用block外部定義的局部變量時,如果變量沒有被__block修飾,則在block內部是只讀的,不能對它修改,如果想修改,變量前必須要有__block修飾
__block的作用是告訴編譯器,在編譯時在block內部不要把外部變量當做常量來使用,還是當做變量來使用.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。