Objective-c block (^) 简介


一、block简介

block是OC中一个匿名函数
1.1 block 可以将一个函数做为参数传递给另一个函数,block是一个函数指针。
1.2 因为有了block,所以在函数中,可以定义一个函数,并在作用域内调用。
1.3 因为有了 block,可以很方便的处理异步程序,例:http请求完毕后,调用其它事项。


二、block用途说明

2.1 定义一个block


//无返回值的block
void  (^printInfo)() = ^(){
    NSLog(@"printInfo!");
}
printInfo();


//2.2 函数中定义block

-(void)printInfo2
{
   int (^printInfo2)(int)= ^(int t)
   {
     return  t*100;
   }

   NSLog(@"%d",printInfo2(100));

}

2.3 __block 关键字的使用,block权限
block不可以对外部变量进行修改,如果需修改外部变量,需将外部变量 加上修饰符__block
IOS__block用法