代码块

来源:互联网 发布:飞猪是淘宝的吗 编辑:程序博客网 时间:2024/05/16 23:42

block代码块,允许开发者在两个对象之间将任意语句当作数据进行传递block,使用了与一个函数相同的机制,可以像声明一个函数一样来声明一个block ,可以像定义一个函数的方法一样来定义一个block,也可以将block当作一个对象来调用。 
代码块的声明: 
返回值类型(^代码块名字)(参数列表) 
代码块实现: 
代码块名字=^(参数列表){代码块的行为主体};

//声明一个代码块    void(^aBlock)(NSString*x);//实现代码块    aBlock=^(NSString *x){        NSLog(@"%@",x);    };//代码块的调用//直接调用(给参数赋值)    aBlock(@"12345");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
    //double 长X,宽y 求面积    double(^getArea)(double x,double y);    getArea=^(double x,double y){        double area=x*y;        return area;    };     double area=getArea(2,3);    NSLog(@"%.2f",area);    //在block中使用全局变量和局部变量    //使用全局变量,参数列表内不用加参,声明后直接实现block    void(^myBlock)()=^(){        global++;        NSLog(@"%d",global);    };    //调用    myBlock();    //定义一个局部变量,如果需要在代码块中修改一个局部变量的值,需要在局部变量的前面加上__block,如果不加这个修饰,会引起报错    __block double y=3.4;    void(^block)()=^(){        y++;        NSLog(@"%f",y);    };    block();}
原创粉丝点击