IOS基礎_Block語法的簡單使用

開始學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

 

转载于:https://www.cnblogs.com/298349503blog/p/7284991.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值