Block的语法结构如下:
返回值(^block名称)(参数类型列表) =^ (参数列表){函数体;};
//无参的Block
void(^myBloc)(void)=^(void)
{
NSLog(@"hello Block");
};
int main(int argc,char *argv[])
{
@autoreleasepool{
myBloc();
}
return 0;
}
//有参的Block
int(^sumBlock)(int,int)=^(int a,intb)
{
return a + b;
}
int s = sumBlock(1,2);
NSLog(@"sum=%d",s);
Block,顾名思义,就是一个代码快单元,帮助我们组织独立的代码段,并提高复用性和可读性。Block类似C语言中的函数指针,是一种方法回调机制。
Block是对C语言的扩展,用来实现匿名内部函数的特性,Block可以实现函数的嵌套,可以访问函数的内部变量。