OC中block的作用

Math.h

#import <Foundation/Foundation.h>


@interface Math : NSObject{


//    NSString * _name;

}


@property(nonatomic, copy) NSString * name;  //_name



//按给定的方式去计算两个整型数据的运算结果

//返回值类型 (^block变量名)(参数列表);

//int(^)(int,int)

+ (int)CalculateA:(int)a B:(int)b Block:(int(^)(int,int))block;


@end


math.m

#import "Math.h"


@implementation Math


- (void)func{


    _name = @"haha";

}


+ (int)CalculateA:(int)a B:(int)b Block:(int (^)(int, int))block{


    //通过block的功能来计算两个数据

    return  block(a, b);

}


@end


main.m

#import <Foundation/Foundation.h>

#import "Math.h"


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        

        //使用Math的类方法计算两个数的和

        int (^ block)(int , int) = ^(int a, int  b){

        

            return a + b;

        };

        

        int num = [Math CalculateA:200 B:20 Block:block];

        NSLog(@"%d" , num);

        

        

        

        //使用Math的类方法计算两个数的乘积

        int num2 = [Math CalculateA:20 B:10 Block:^(int a, int b) {

            

            return a * b;

            

        }];

        

        NSLog(@"%d", num2);

        

        

    }

    return 0;

}


转载于:https://my.oschina.net/luhoney/blog/649500

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值