用block简单的玩一下函数式编程和响应链式编程

先给大家看一下很熟悉的一段代码,大家刚接触时有没有好奇这种调用方式,未知的东西总是diaodiao的.

[redView mas_makeConstraints:^(MASConstraintMaker *make) {

make.left.top.equalTo(@20);

}];

       对于这种mas_makeConstraints这种将block作为方法的返回值可以称之为是一种编程思想---函数式. 那么接下来我们就实现make.的这种调用方式,说白了.语法就是get和set方法.


创建一个person的类,使用block作为方法的返回值

- (void(^)(intm))run{

return^(intm){

NSLog(@"我特么跑了 %d米", m);

returnself;

};

Person*p = [Personnew];

//1.

//void(^block)(void) = p.run;

//2.

//block();

p.run(20);//这行代码相当于是1加2

接下来这种make.left.top.这种方式我们可以称之为链式编程思想------方法的最终返回的是方法的调用者


- (Person*(^)(intm))run{

return^(intm){

NSLog(@"我特么跑了 %d米", m);

returnself;

};

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容