OC中块block的使用

---恢复内容开始---

1、无返回值,有参数

1         //无返回值,有参数
2         void (^sumBlock)(int, int )= ^(int num1,int num2){
3             NSLog(@"%d",num1+num2);
4         
5         };
6         sumBlock(2,3);

 

2、无返回值,一个参数

 void(^showMenu2)(NSString *)=^(NSString *name){
            NSLog(@"*****欢迎%@使用*****",name);
            
        };
        showMenu2(@"xiaohua");

 

3、无返回值,无参数

 void(^showMenu)()=^(){
            NSLog(@"*****欢迎使用*****");
        
        };
        showMenu();

  

4、有返回值有参数

int(^sumBlock)(int,int)=^(int num1,int num2){
            return num1+num2;

        };
        NSLog(@"%d",sumBlock(3,10));

5、 

块可以访问外部的变量,但不可修改,如果 要修改的话需要加__block修饰

 

__block int a =10;
        int(^sumBlock)(int,int)=^(int num1,int num2){
            a=100;
            return num1+num2+a;

        };
        NSLog(@"%d",sumBlock(3,10));

  

---恢复内容结束---

posted @ 2017-02-09 08:47  zhaozishuang  阅读(703)  评论(0)    收藏  举报