链式编程可以提高程序的可读性,而且使用起来也相当方便。调用使用点语法调用。
创建一个简单的计算类:
#import <Foundation/Foundation.h>
#define ADD
#define MULTY
@interface CalulatorMaker : NSObject
@property(nonatomic,assign)int result;
-(CalulatorMaker*(^)(int num))add; ADD
-(CalulatorMaker*(^)(int num))multy; MULTY
@end
#import "CalulatorMaker.h"
@implementation CalulatorMaker
-(CalulatorMaker *(^)(int num))add
{
return ^(int num){
_result += num;
return self;
};
}
-(CalulatorMaker*(^)(int num))multy
{
return ^(int num){
_result *= num;
return self;
};
}
@end
能连续使用点语法在调用时需返回计算方法的block和当前对象。
简单使用:
CalulatorMaker *marker = [[CalulatorMaker alloc]init];
marker.add(1).add(2);
NSLog(@"result==>%d",marker.result);
结果:
result==>3