Block變數的的用法,使你的程式看起來清晰明了!

來源:互聯網
上載者:User

標籤:block

  1. <span style="font-size:24px;">為什麼要使用block變數呢?  

  2. 因為當我們的程式比較繁雜的時候,我們在一個函數中要調用一個函數,還需要在外邊來定義,實現,很不方便,但是有了block變數我們就可以在一個函數的內部來定義一個block變數,相當於又在函數的內部來定義了一個函數.  

  3. int (^max)(int x,int y) = ^(int x,int y)//求兩個數的最大值  

  4.         {  

  5.             return x > y ? x :y;  

  6.         };  

  7.         NSLog(@"%d",max(5,10));  

  8.         int (^min)(int x,int y) =^(int x,int y)//求兩個數的最小值  

  9.         {  

  10.             return x > y ? y : x;  

  11.              

  12.         };  

  13.         NSLog(@"%d",min(5,10));</span>  

[cpp] view plaincopy650) this.width=650;" src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代碼片" style="border:none;" />650) this.width=650;" src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到My Code片" style="border:none;" />

  1. <pre name="code" class="cpp"><span style="font-size:24px;">其中block變數的類型為:int(^)(int x ,int y);  

  2. max 為變數名,一般看函數是什麼類型,只需要把函數名去掉然後剩下的就是函數的類型.  

  3. ^(int x ,int y)  

  4. {   

  5.      return x + y;  

  6. }  

  7. 上面的對block變數進行初始化.</span>  


[cpp] view plaincopy650) this.width=650;" src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代碼片" style="border:none;" />650) this.width=650;" src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到My Code片" style="border:none;" />

  1. <span style="font-size:24px;">當在block內部使用block外部定義的局部變數時,如果變數沒有被__block修飾,則在block內部是唯讀,不能對它修改,如果想修改,變數前必須要有__block修飾  

  2. __block的作用是告訴編譯器,在編譯時間在block內部不要把外部變數當做常量來使用,還是當做變數來使用.  


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.