黑马程序员一block

来源:互联网 发布:电脑视频剪辑软件推荐 编辑:程序博客网 时间:2024/05/23 23:48

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

block

block用来保存一端代码

    block的标志:^

    block跟函数很像:

   1.可以保存代码

   2.有返回值

   3.有形参

   4.调用方式一样


定义block变量

   无返回值,无形参.可以省略大括号前的小括号

   

 <span style="font-size:14px;">void (^myblock)() = ^(){        };    void (^myblock)() = ^{            };</span>


   有返回值,有形参

    

<span style="font-size:14px;">int (^myblock)(int,int) = ^(int a,int b){        return a + b;    };</span>

    利用block变量调用block内部的代码

    

<span style="font-size:14px;">typedef int (^MyBlock)(int,int);        MyBlock sumBlock = ^(int a,int b){        return a + b;    };</span>

    

block要掌握的东西


1.如何定义blockblock变量

<span style="font-size:14px;">void (^myblock)()int (^myblock)(int,int)</span>

2.如何利用block封装代码

   

<span style="font-size:14px;"> ^(){            };    ^{            };    ^(int a,int b){        return a + b;    };</span>

3.block访问外面变量

    block内部可以访问外面的变量

   默认情况下,block内部不能修改外面的局部变量

??给局部变量加上__block关键字,这个局部变量就可以在block内部修改


4.利用typedef定义block类型

   

<span style="font-size:14px;">typedef int (^MyBlock)(int,int);    以后就可以利用MyBlock这种类型来定义block变量    MyBlock sumBlock = ^(int a,int b){        return a + b;    };</span>



------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

0 0
原创粉丝点击