IOS之block与闭包

来源:互联网 发布:阿里云域名可以转让吗 编辑:程序博客网 时间:2024/06/06 01:26

暂时为了找工作,又将OC拿过来重新看看

block是OC中的名称,闭包是Swift中的名称

这篇博客只给两段代码,介绍在声明方法时,传入block和闭包

首先看block

/** *  在方法中传入block *  (void (^)(int a, int b))calculate *  block分解: *  首先(参数类型)参数名称 *  参数类型 = void (^)(int a, int b),这是一个block声明方式 *  参数名称 = calculate *  实现的功能,a、b数值互换 */- (void)calculateWithNum:(int)a andNum:(int)b withBlock:(void (^)(int a, int b))calculate {    a = a + b;    b = a - b;    a = a - b;    calculate(a, b);}

再看闭包

    /**    在方法中传入闭包    calculate: (a: Int, b: Int) ->Void    闭包分解:    参数名称: 参数返回值    参数名称 = calculate    参数返回值 = (a: Int, b: Int) ->Void    实现功能:a,b数值互换    */    func calculateWithNum(a: Int, b: Int, calculate: (a: Int, b: Int) ->Void) {        a = a + b;        b = a - b;        a = a - b;        calculate(a, b);    }


0 0
原创粉丝点击