block 块 object-c 闭包

block 相当于 c函数指针

^ 块的符合

格式为

void(^block)() = ^{
	// block的实现
}
返回值 (^block) (形参列表)

带有参数的

int (^sum)(int a, int b) = ^int(int a, int b) {
	return a + b;
}

或者

int sum = ^(int a, int b){
	return a + b;
}(10,20);

block 作为形参

// (返回值类型 (^) (形参列表)) 形参名称  
// .h 文件定义
- (void) letXiaoMingBuy:(void(^))block;

// .m 文件 定义功能
// 实现传入的 block 方法
- (void)letXiaoMingBuy:(void(^)())block{
	block();
}

在 main 函数里面实力对象并调用

[Class letXiaoMingBuy:^{
	// 实现函数功能
}]l;

利用 typedef 简化