//1)无参无返回值的blockspa
//格式:指针
// 定义block变量code
// 返回值类型 (^block变量名)(形参类型列表);orm
// 定义block类型而且赋值变量
// 返回值类型 (^block变量名)(形参类型列表)= ^(形参列表){代码块;};数据类型
// 形式1: void(^block变量名)() = ^(){};数据
// 形式2: void(^block变量名)() = ^{};margin
// 定义变量top
void (^sbblock)();co
void (^sb1)() = ^() {
NSLog(@"haha");
};
void (^sb2)() = ^{
NSLog(@"22");
};
// 执行block
// 格式:block变量名(实参)
// sbblock(); EXC_BAD_ACCESS(code=1,) 野指针访问报错,由于sbblock没有初始化。
sb1();
sb2();
// 2)有参无返回值的block
// 形参列表的格式: 数据类型 变量名
void (^myblock1)(int a); //定义一个无返回值有一个参数的block变量,变量名为mblock1;
myblock1 = ^(int a) {
NSLog(@"a = %d",a);
};
myblock1(2);
// 3)有参数有返回值的block
int (^myblock2)(int a, int b) = ^(int a, int b){
return a+b;
};
// 执行block而且接收返回结果
int sum = myblock2(20,34);
NSLog(@"%d",sum);