链式编程思想

最近看到一次词语"响应式编程"(稍后会分享),联想到之前学习Masonry时的"链式编程",知其然不知其所以然,所有抽时间学习一下分享出来,当做笔记;

大家都知道block具有两个重要的功能,第一:可以作为类的属性被点语法"点"出来,又可以当做函数被直接调用;第二,block作为一个变量,又可以把他作为函数指针一样调用

我们在oc中使用"[  ]"调用方法,当中括号嵌套三四层的时候,我们看着就凌乱了.但是swift中那种通过"点"调用方法的形式,看着就很清楚.

@interface Person : NSObject                               //申明

- (Person *(^)(NSString *name))studt;                            //block的getter方法

-  (Person *(^)())run;                                                      //block的getter方法

@end


#import "Person.h"                                               //实现

@implementation Person

- (Person *(^)(NSString *name))studt {

return ^(NSString *name){

NSLog(@"name = %@",name);

return self;

};

}

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

return ^() {

NSLog(@"跑步");

return self;

};

}

@end


// 调用

Person *person = [[Person alloc] init];

person.studt(@"1").run();                //getter方法调用


详细见demo 给view写一个分类  https://github.com/dabainihao/ChainProgram










最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 链式编程思想 思想特点:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。a(1).b...
    Big丶Show阅读 7,624评论 4 13
  • 在iOS中,链式编程虽然用的不太多,但是,在特定的应用环境下,利用block实现链式编程的话,会大大的提高编程效率...
    顶级蜗牛阅读 3,882评论 1 4
  • 1.block 基本使用是控制器之间的通讯使用。2.block 高级使用则是,作为链式编程来使用, Masonry...
    HotRay阅读 1,738评论 0 0
  • 从酵素营养学来看「疾病的机制」 不论疾病的经重,一言以蔽之,酵素营养学的基本概念就是「所有疾病都是代谢酵素不足而引...
    快乐_4a34阅读 1,337评论 0 0
  • 如果人生分上、中、下半场,那么我的上半场几乎是看不到希望的。 我相貌平庸,学历不高,又出生在北方偏远大山深处。 读...
    姵说阅读 1,553评论 4 4

友情链接更多精彩内容