iOS 链式编程思想
来源:互联网 发布:七招应对网络泄密隐患 编辑:程序博客网 时间:2024/04/30 00:06
- 链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性提高。
- 链式编程特点:方法的返回值是block,block必须返回对象本身(返回block时,block所在的方法调用者对象)block的参数是需要操作的值。
代表是:masonry框架
下面是链式编程的一个代码实例。为任何一个类添加一个加法计算的功能
使用者ViewController.m的文件中
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // 1.让所有的类都可以计算 int result = [self calulate:^(CaculateManager *mgr) { // 把所有计算封装到CaculateManager mgr.add(5).add(5); NSInteger a = mgr.num;// [[mgr add:5] add:5]; }]; // 方法:返回值:对象本身,参数:需要计算值 NSLog(@"%d",result);}
NSObject+Caculate.h文件中
@class CaculateManager;@interface NSObject (Caculate)// 计算- (int)calulate:(void(^)(CaculateManager *))block;@end
NSObject+Caculate.m文件中
@implementation NSObject (Caculate)// 计算- (int)calulate:(void (^)(CaculateManager *))block{ // 1.创建计算管理者 CaculateManager *mgr = [[CaculateManager alloc] init]; // 2.执行计算 block(mgr); return mgr.result;}@end
CaculateManager.h文件
@interface CaculateManager : NSObject// 保存结果值@property (nonatomic, assign) int result;//- (instancetype)add:(int)value;- (CaculateManager *(^)(int))add;- (NSInteger)num;@end
CaculateManager.m文件
@implementation CaculateManager- (CaculateManager *(^)(int))add{ // 返回block // 先定义block// CaculateManager *(^block)(int) = ^CaculateManager *(int value){// _result += value;// return self;// }; // 返回block return ^CaculateManager *(int value){ _result += value; return self; };}@end
下图是对上面执行流程的详细描述。
0 0
- iOS 链式编程思想
- 链式编程思想
- 探究链式编程思想
- 链式编程思想
- 链式编程思想
- iOS--链式编程
- iOS中的链式编程
- iOS链式编程
- iOS-链式编程
- iOS 链式编程
- iOS链式编程
- 高逼格的block(链式编程思想 )
- iOS 链式编程(Masonry)
- iOS编程思想
- iOS 编程思想
- IOS编程思想整理
- iOS编程思想
- iOS 链式编程/函数式编程写法
- 【bzoj1821】 JSOI2010Group 部落划分 二分+并查集
- 3D+OpenGL里的光照平面镜面反射以及漫游移动物体位置等的具体实现
- hadoop 之Ssh免登陆解释
- 多线程之线程间的通信——以及下载文件并保存到指定路径的方法
- django之todolist(二)
- iOS 链式编程思想
- 27/Feb/2008:10:12:44 +0800这样的日期格式在java里的解析.
- hive默认的授权机制
- 虚拟存储技术
- eclipse项目导入的问题
- php各种排序
- 最全的常用正则表达式大全分享
- ElasticSearch Aggs的一些使用方法
- FileSystem closed 异常问题