代码块

来源:互联网 发布:婚纱摄影网络销售技巧 编辑:程序博客网 时间:2024/04/30 11:01

下边是代码块的定义及使用方法


//block作为函数的参数
//函数返回值类型 函数名(block的声明格式)
int fun(int (^block)(int a,int b))//回调
{
   
return block(1,2);
}

   //block声明格式:返回值类型(^block名字)(形参列表)
       int(^myFun)();
       
//1.block实现:block名字 = ^(形参列表){};
        myFun = ^(){
           
return1;
        };
       
int a = myFun();//调用:block名称(实参列表),有返回值的block,可以用一个变量进行接收
       
NSLog(@"%d",a);
       
       
//2.有返回值,有形参,声明和实现放一起
       
int (^myBlock)(inta,intb) = ^(inta,intb){
           
returna+b;
        };
       
NSLog(@"%d",myBlock(10,20));//调用
       
       
//3.返回值类型是NSString
       
NSString*(^myBlock1) (NSString*s) = ^(NSString*s){
           
NSLog(@"字符串%@",s);
           
returns;
        };
        myBlock1(
@"123456");
       
       
//4.有一个局部变量,要在block进行值的改变,必须定义一个__block + 变量类型的变量
       
__blockint b = 0;
       
void (^myBlock2)() = ^(){
            b++;
        };
        myBlock2();
       NSLog(@"%d",b);

       //block作为形参
       
int (^myBlock4)(inta,intb) = ^(inta,intb){
           
returna+b;
        };
        NSLog(@"%d",fun(myBlock4));

0 0
原创粉丝点击