美文网首页
链式函数开发 一个方法修改多个地方

链式函数开发 一个方法修改多个地方

作者: seventhboy | 来源:发表于2017-11-06 11:19 被阅读9次

普通用法:

  • (void)run;
  • (void)study;
  • (void)run{
    NSLog(@"run");
    }
  • (void)study {
    NSLog(@"study");
    }

对象方法用法:(返回对象指针)
-(Person)run1;
-(Person
)study1;

  • (Person*)run1 {
    NSLog(@"run");
    return [[Person alloc] init];
    }
  • (Person*)study1{
    NSLog(@"study");
    return[[Person alloc]init];
    }

block方法用法:(使用block 返回对象指针)

  • (Person* (^)(void))runBlock;
  • (Person* (^)(NSString *))studyBlock;
    -(Person (^)(void))runBlock{
    Person
    (^block)(void) = ^() {
    NSLog(@"run");
    return self;
    };
    return block;
    }

-(Person *(^)(NSString ))studyBlock{
Person
(^block)(NSString *) = ^(NSString *string ){
NSLog(@"%@",string);
[[[self run1] study1] runBlock];
return self;
};
return block;
}

合成存取器用法:(block返回类对象)
get 方法 类.m 实现逻辑
Person*person = [[Person alloc]init];
[[[person.myBlock(@"sssss") run1] study1] run];
//"点"语法调用类对象方法,进行多个地方修改。

将block 的a(); 赋值 ,a = ^(){}; 实现,反过来,在.m中get实现回调, 类外使用a();调用block 使用。
就是:
block回调反向使用,先实现后赋值,可以在类里面进行多个地方调用修改。

@property(nonatomic,copy)Person* (^myBlock)(NSString string);
@property(nonatomic,copy)Person
(^voidBlock)(void);
-(Person * (^)(NSString ))myBlock{
Person
(^block)(NSString *) = ^(NSString *string){
[self run];
NSLog(@"____%@",string);
return self;
};
return block;
}

-(Person *(^)(void))voidBlock{
Person *(^block)(void) = ^(){
return self;
};
return block;
}

相关文章

  • 链式函数开发 一个方法修改多个地方

    普通用法: (void)run; (void)study; (void)run{NSLog(@"run");} (...

  • 从 PHP、Promise、Android 和 iOS 代码看如

    链式编程或者链式写法,是将多个方法 (函数) 通过点号 (.) 或者 (->)等符号链接在一起成为一句代码,这样不...

  • ReactiveObjC入门

    ReactiveObjC基础用法 iOS开发三种编程方式(响应式编程、函数编程、链式编程),函数编程最常用,链式编...

  • 链式编程

    什么是链式(函数式)编程? 通过高阶函数以点为连接将多个函数连接在一起完成参数传递和复杂的操作!使用链式编程最多的...

  • 2018-08-29-函数基础

    一、函数基础 问题 同样的代码写多次 一个功能需求发生改变,需要修改多个地方 使用函数:提高代码的复用度,让程序更...

  • Underscore.js 源码解读之链式语法

    链式语法写法 我们调用多个 Underscore 的方法。可能会这么写: 用 Underscore 的链式语法来简...

  • 补充

    补充 pipreqs: 函数和方法 threading.local 多个线程修改同一个数据,复制多份变量给每个线程...

  • 2018-08-29day08-函数基础

    一、认识函数 没有函数的问题是什么?1.同样的代码需要多次2.一个功能的需求发生改变,需要修改多个地方 怎么解决上...

  • 你一定不知道的链式调用新姿势

    如何链式调用Java静态方法? 链式调用 首先需要提一下最近几年在开发界大的链式调用,链式调用非常利于编写,更利于...

  • 嵌套的promise执行顺序

    外部promise有多个then链式调用,第一个then里面执行另一个promise,也带多个then链式调用,他...

网友评论

      本文标题:链式函数开发 一个方法修改多个地方

      本文链接:https://www.haomeiwen.com/subject/tdakmxtx.html