您的位置:首页 > 其它

浅谈Block

2016-02-27 10:07 204 查看
#import "ViewController.h"

@interface ViewController ()

//在代码块中可以使用和改变全局变量
@property(nonatomic,assign)int g;
@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];

[self Test];
}

-(void)Test
{
self.g=10;

//定义一个能够被块访问并修改的变量
__block int a=0;

//局部变量可以使用但是不能在代码块中改变,若想改变地加上关键字__block
int d=88;

//定义一个块,这个块会修改它作用域中的一个变量(返回类型 块名称 参数类型 参数 块实际代码)
void(^sillyBlock)(int ,int)=^(int b,int c ){
a=a+b+c+self.g;
self.g=100;
NSLog(@"局部变量d:%d",d);
};

NSLog(@"执行Block前a的值:%d",a);
NSLog(@"执行Block前全局变量g的值:%d",self.g);

sillyBlock(100,100);
NSLog(@"执行Block后a的值:%d",a);
NSLog(@"执行Block后全局变量g的值:%d",self.g);

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: