• 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));
    

      

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

  • 相关阅读:
    问题排查
    代码
    前端
    即时通信系统 偶尔看到 就想学着做一下
    Oracle 笔记
    javaweb dev 入
    mysql安装
    windows下安装nginx
    spring MVC上传附件
    mysql+mybatis递归调用
  • 原文地址:https://www.cnblogs.com/zhaozishuang/p/6380540.html
Copyright © 2020-2023  润新知