#import <Foundation/Foundation.h> typedef id (^ArithmeticOperator)(id, id); ArithmeticOperator add, subtract, multiply, divide; @interface NSNumber (Arithmetic) - (NSNumber *)numberByOperator:(ArithmeticOperator)opr rightOperand:(NSNumber *)rightOp; @end #import "NSNumber+Arithmetic.h" ArithmeticOperator add = ^id(id op1, id op2) { return [op1 decimalNumberByAdding:op2]; }; ArithmeticOperator subt