您的位置:首页 > 移动开发 > IOS开发

ios学习(block)

2015-07-28 20:33 232 查看
block:( 理解基础1)

1.

首先类似于c语言中的函数,可以有返回值类型,有参数,能接收,并且我们将其封装起来也可以使用。

例如:

这是一个block,以^ 开始的代码块
int (^blockOne)(int,int)= ^(int a,int
b){
           
return a+b;
        };

int:是返回值类型
(^blockOne):是一个block的名字
(int,int):只可以接收int型的数据

这是一个c语言函数
int
a(int a ,int b){
   
int c;
    c = a+b;
   
return c;
}
在调用时也比较相似,block调用:int add = blockOne(2,3);

c语言函数的调用a(2,3);结果是一样的。

以上是一个有返回值类型的

定义个无返回值类型的
void (^blockTwo)(void) = ^(void){

        
           
NSLog(@"hello");

            
        };

调用:
blockTwo();

同样类似于如下c语言中的一个无返回值类型的函数
void b(){

    NSLog(@"hello");
}

调用:
b();
2.

因为是void类型的因此void是可以省略的,如果想要修改block里面的变量,必须要加__block
      
__block int c =
10;
       
void(^blockThree)(void)=^{
            c= c+2;
           
NSLog(@"%d",c);
        };
        blockThree();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: