OC-代码块

代码块

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

//声明一个代码块
    void(^aBlock)(NSString*x);
//实现代码块
    aBlock=^(NSString *x){
        NSLog(@"%@",x);
    };
//代码块的调用
//直接调用(给参数赋值)
    aBlock(@"12345");

    //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();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值