你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS 任務之余小總結

iOS 任務之余小總結

編輯:IOS開發綜合

block的運用,既復雜無方便,我如今總結一下什麼是block。
1.先上一個沒有前往值,沒無形參的block
void(^BianLiangMingBlock)(void) = ^void(void) //定義
{
//TODO
};
BianLiangMingBlock();//調用

剖析:第一個void 是辦法的前往值,^前面的是block的名字,第二個(void)是你帶的形參,等號前面就看你等號後面的是什麼,後面的辦法前往值是void,前面的(void)是形參 “{}”裡的是代碼塊,和辦法一樣,假如後面的辦法前往值是void,前面的{}中就不必return前往內容。

2.寫一個無方法前往值,無形參的block
float(^MyBlock)(int a,int b) = ^float(int a, int b)
{
return a + b;
}
MyBlock(3,5);

剖析:float 是辦法的前往值,^前面的是block的名字,第二個(int a,int b)是你帶的形參,等號前面就看你等號後面的是什麼,後面的辦法前往值是float,前面的(int a,int b)是形參 “{}”裡的是代碼塊,和辦法一樣,由於後面的辦法前往值是float,前面的{}中就用return前往內容。調用的時分把3傳給a,把5傳給b,前往8.

3.block的寫法的優化

1、可以在interface下面 定義一個block
typedef void(^BianLiangMingBlock)(void) ;
這樣在辦法中 就可以這麼寫了
BianLiangMingBlock b1 = ^void(void)
{
//TODO
};
BianLiangMingBlock();//調用

2、假如=號前面是viod則都可以不寫
BianLiangMingBlock b1 = ^
{
//TODO
};
BianLiangMingBlock();//調用
以上就是block的語法,上面,我來總結一下block和全局變量與不舉變量的關系

1.全局變量與block的關系
在下面定義一個全局變量 int fy = 100;
BianLiangMingBlock b1 = ^
{
NSLog:(@”%d”,fy);
fy = 20;
};
BianLiangMingBlock();//調用
NSLog:(@”%d”,fy);

剖析:後果是100,20.全局變量可以在block中停止訪問和賦值

2.部分變量與block的關系
在辦法中定義一個部分變量
int fy = 100;
BianLiangMingBlock b1 = ^
{
NSLog:(@”%d”,fy);
fy = 20;
};
BianLiangMingBlock();//調用
NSLog:(@”%d”,fy);

剖析:後果是100,100.全局變量可以在block中停止訪問但是不能賦值。
那如何讓部分變量可以在block中可以賦值呢?只需求在部分變量的類型前加關鍵字__block就可以了,還是附上代碼:
__block int fy = 100;
BianLiangMingBlock b1 = ^
{
NSLog:(@”%d”,fy);
fy = 20;
};
BianLiangMingBlock();//調用
NSLog:(@”%d”,fy);
後果就是100,20了。

我再下一遍裡,會總結block在實踐中的使用。

【iOS 任務之余小總結】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved