[10秒学会] - iOS(OC) 函数式编程思想

@interface CalculateManager : NSObject

@property (nonatomic, assign) int result;

// 计算
- (instancetype)calculate:(int(^)(int))calculateBlock;

@end

//==============================
#import "CalculateManager.h"

@implementation CalculateManager
- (instancetype)calculate:(int (^)(int))calculateBlock
{
    _result =  calculateBlock(_result);
    return self;
}
@end

//===============================
   CalculateManager *mgr = [[CalculateManager alloc] init];
    
   int result = [mgr calculate:^(int result){
       // 存放所有的计算代码
        result += 5;
        result *= 5;
        return result;
    }].result;
    NSLog(@"%d",result);

 

你可能感兴趣的:(小马哥出品,必属精品)