iOS基础学习

Objective-C基础学习之Block基本概念和Block注

2017-10-13  本文已影响23人  WenJim

1.什么是Block

2.block的格式

返回值类型 (^block变量名)(形参列表) = ^(形参列表) {

};
Block的定义格式.png
void (^block名)() = ^{代码块;}

例如:
void (^ sumBlock)() = ^{ NSLog(@"CWJ"); };
void (^block名称)(参数列表)
= ^ (参数列表) { // 代码实现; }

例如:
void (^ sumBlock)(int) = ^(int num){ NSLog(@"num = %i", num); };
返回类型 (^block名称)(参数列表)
= ^ (参数列表) { // 代码实现; }

例如:
int (^sumBlock)(int, int) = ^(int num1, int num2){ return num1 + num2; };
block变量名(实参);

注意事项

3.Block注意事项

int  a = 10;
void (^ wjBlock)() = ^{
    NSLog(@"a = %i", a);
    }
wjBlock();
输出结果: 10
int  a = 10;
void (^wjBlock)() = ^{
    int a = 50;
    NSLog(@"a = %i", a);
    }
wjBlock();
输出结果: 50
int b = 5;
void (^wjBlock)() = ^{
    b = 20; // 报错
    NSLog(@"b = %i", b);
    };
wjBlock();
__block int b = 5;
void (^wjBlock)() = ^{
  b = 20;
  NSLog(@"b = %i", b);
  };
wjBlock();
输出结果: 20
上一篇 下一篇

猜你喜欢

热点阅读