iOS 编程思想

2020-12-21  本文已影响0人  Nothing_xy

7.8 编程思想

链式编程

特点

@class Calculator;
typedef Calculator * (^addBlock)(int);
typedef Calculator * (^subBlock)(int);
typedef Calculator * (^mulBlock)(int);
typedef Calculator * (^diviBlock)(int);
@interface Calculator : NSObject

- (addBlock)add;
- (subBlock)sub;
- (mulBlock)mul;
- (diviBlock)divi;

@interface Calculator()
@property (assign , nonatomic)int currNum;
@end
@implementation Calculator
- (addBlock)add
{
    return ^(int a){
        self.currNum += a;
        NSLog(@"result=%d",self.currNum);
        return self;
    };
}
- (subBlock)sub{
    return ^(int a){
        self.currNum -= a;
        NSLog(@"result=%d",self.currNum);
       return self;
    };
}
- (mulBlock)mul{
    return ^(int a){
        self.currNum *= a;
        NSLog(@"result=%d",self.currNum);
        return self;
    };
}
- (diviBlock)divi{
    return ^(int a){
        self.currNum /= a;
        NSLog(@"result=%d",self.currNum);
       return self;
    };
}

  Calculator * ca = [[Calculator alloc] init];
    ca.add(10).sub(1).mul(9).divi(9);
@end

函数编程

特点

响应式编程

特点

上一篇 下一篇

猜你喜欢

热点阅读