码迷,mamicode.com
首页 > 移动开发 > 详细

IOS基礎_Block語法的簡單使用

时间:2017-08-04 15:20:41      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:注意   自己   返回值   nsset   ini   html   online   http   control   

開始學IOS的時候沒怎麼接觸過block語句,在後來用到的越來越多,就不得不學了,剛開始理解比較困難的,然後自己做了一個例子就慢慢理解了,www.ios5.online不說廢話了,上代碼:

 

 

正常的簡單地申明調用一個block語句是這樣的:

//申明

int (^yxpBlock)(int, int) =^(int a ) {return a*a ;};

說明:返回值(^語句塊名稱)(傳人參數類型)=^(傳人參數){主體};

 

//調用

int result = square(5);

 

我建了一個測試項目包含了(yxpAppDelegate和yxpViewController)兩個類

 

在yxpViewController類裡面

 

申明了一個block語句類型

 

@classyxpViewController;

typedef void (^yxpBlock) (yxpViewController *);

 

在yxpViewController 申明了yxpBlock變量

 

@interface yxpViewController :UIViewController

@property (nonatomic,assign)yxpBlock yxpblock;

@end

 

在touchesBegan: withEvent:調用block語句 (調用block語句要用一根下劃線,@propert默認提供)

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

_yxpblock(self);

}

 

//在yxpAppDelegate中使用了block語句

__blockNSString *str=@"觸摸屏幕";

 

yxpViewController *viewContro=[[yxpViewControlleralloc] init];

viewContro.yxpblock=^(yxpViewController *viewController){

NSLog(@"---------%@",str);

};

self.window.rootViewController=viewContro;

 

注意:block語句可以讀取外部變量,但是不能寫入,如果需要在block語句裡修改外部變量,外部變量要用__block (兩根下劃線)標識

將這個例子弄懂相信你就對block語句有一個初步的了解了,了解更多:http://www.ios5.online/ios/iosjc/iosjczs/201703/40770.html

 

IOS基礎_Block語法的簡單使用

标签:注意   自己   返回值   nsset   ini   html   online   http   control   

原文地址:http://www.cnblogs.com/298349503blog/p/7284991.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!