A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jack-xie 中级黑马   /  2014-10-9 11:43  /  750 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

*block要掌握的东西

    1。如何定义block变量
    int (^sumBlock)(int,int);
    void (^myBlock)();

    *如何利用block封装代码
     ^(){
        NSLog(@"这是第一种封装代码方式,无參无返回值");
     };
     
     ^{
        NSLog(@"这是第二种封装代码方式,无參无(无()号)返回值");
     };
     // 这是一个有参有返回值的block封装
     ^(int a,int b){
        return a+b;
     };

    *block访问外面变量
    1.block内部可以访问外部的变量
    2.默认情况下,block内部不能修改外部的局部变量
    3.给局部变量加上__block关键字,这个局部变量就可以在block内部修改

    *利用typedef定义block类型
    typedef int(^MyBlock)(int,int);
    // 以后就可以利用MyBlock这种类型来定义block变量
    MyBlock sum;
    MyBlock sum1,minus1,multiply1;

    sum1 = ^(int a,int b){
        return a+b;
    };

点评

赞一个  发表于 2014-10-9 11:49

评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

3 个回复

倒序浏览
谢谢分享。
回复 使用道具 举报
收藏了。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马