链式编程学习(二)
来源:互联网 发布:查看linux版本 编辑:程序博客网 时间:2024/05/02 05:05
为使所有对象都具有计算的功能,可以使用类目对NSObject进行扩展
NSObject+Caculator.h
#import <Foundation/Foundation.h>#import "CalulatorMaker.h"@interface NSObject (Caculator)+(int)makeCaculator:(void(^)(CalulatorMaker * make))block;@end
NSObject+Caculator.m
#import "NSObject+Caculator.h"@implementation NSObject (Caculator)+(int)makeCaculator:(void (^)(CalulatorMaker * make))block{ //计算者 CalulatorMaker *maker = [[CalulatorMaker alloc]init]; //计算 block(maker); return maker.result;}@end
调用:
int result = [NSObject makeCaculator:^(CalulatorMaker * maker) { maker.add(1).add(2); }]; NSLog(@"%d",result);
0 0
- 链式编程学习(二)
- 实现jQuery底层链式编程(二)
- iOS_链式编程学习
- 简单链式编程学习(一)
- 数据结构学习笔记(二)------------线性表之链式存储
- (二)调试链式栈
- JavaScript学习笔记(二十八) 链式模式
- iOS 链式编程(Masonry)
- IOS学习笔记2-NSThread,链式编程
- java学习日记_47:链式编程
- block的高级用法(二) -- block作为返回值,链式编程思想
- 链式编程
- 链式编程
- 链式编程
- iOS-OC创建链式语法(链式编程)
- MVVM模式下如何使用ReactiveCocoa响应链式编程<二>
- 数据结构与算法学习(二)链式存储结构LinkedList源码分析
- 二路归并排序(链式存储)
- HTML事件
- Matlab给系统自动生成的窗体Figure1改名称
- qt creator : error: Exception at 0x772e93d0, code: 0xc0000409: , flags=0x1 (execution cannot be c
- POJ 3481 set水过
- opencv2实现形态学骨架提取
- 链式编程学习(二)
- UVA673 水,模拟栈
- Spark学习系列——在虚拟机上搭建 Spark 集群的两种方法
- 对oop一些的基本操作
- iOS-实战项目笔记总结-打包错误及解决
- restful是什么
- java笔记day22—GUI(1)
- Git使用总结(包含Git Bash和Git GUI的使用)
- trick-交换数字