Oc课堂笔记->Block块

Block块:

可以传到任何地方使用

    //" ^ "托字符

    //1.无返回值 无参数的Block;

    void(^myBlock)()=^{

        NSLog(@"***********");

    };


    myBlock();

    //2.有返回值有参数

    NSInteger(^sumBlock)(NSInteger,NSInteger)=^(NSInteger num1,NSInteger num2)

    {

        return num1 + num2;

    };

    sumBlock(10,20);

    NSLog(@"%ld",sumBlock(10,20));

    //3.有返回值,无参数的

    NSString*(^helloBlock)()=^

    {

        return @"hello";

    };

    //4.无返回值,有参数

    //看到托字符'^'说明他就是一个Block块.

    NSLog(@"%@",helloBlock());

    void(^sayHiBlock)(NSString*)=^(NSString*s)

    {

        NSLog(@"%@",s);

    };

    sayHiBlock(@"hello,world");

    

   */

   /* //如果要block中的变量的值改变的时候,加__block  例如:

    //__block NSInteger test1 = 10;

    

    __block NSInteger test1 = 10;

    //void(^testBlock)()

     blockName testBlock =^

    {

        //和Block块同作用域的变量我们可以只读使用,但是不能改变他的值

        //例如:test1 = 20;

        //如果想改变,把同作用域的变量改成:__block NSInteger test1 = 10;前面加__block;

        

        test1 = 20;

        NSLog(@"%ld", test1);

    };

    testBlock();

    //在使用__block后,如果在Block块中改变了变量的值,外面也跟着改变;

    NSLog(@"%ld",test1);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值