美文网首页
函数式编程 响应式编程

函数式编程 响应式编程

作者: keaiai | 来源:发表于2016-11-14 16:23 被阅读0次

    学习函数式编程对于我们理解Masonry && Snapkit有很大的帮助,函数式编程(链式编程)。下面文章也是参考前辈们的知识。

    Masonry,比如make.centerY.equalTo(self.view).offset(100);

    这个“.”语法就是函数式编程(链式编程)的思想。


    函数式编程总结:

    如果想再去调用别的方法,那么就需要返回一个对象;

    如果想用()去执行,那么需要返回一个block;

    如果想让返回的block再调用对象的方法,那么这个block就需要返回一个对象(即返回值为一个对象的block)



    比如一个Person类,最终实现这样一个目标person.runBlock().studyBlock().runBlock();

    person.studyBlock().studyBlock().runBlock();

    下面是实现的过程:

    1.首先实现[[person run] study];

    在Person类中增加

    - (void)run;

    - (void)study;

    具体实现:

    - (Person*)run1 {

    NSLog(@"run");

    return[[Personalloc] init];

    }

    - (Person*)study1{

    NSLog(@"study");

    return[[Personalloc]init];

    }

    2.实现 person.runBlock().studyBlock().runBlock();

    - (Person *(^)())runBlock;

    - (Person *(^)())studyBlock;

    具体实现:

    - (Person *(^)())runBlock

    {

    Person *(^block)() = ^(){

    NSLog(@"run");

    return self;

    };

    return block;

    }


    响应式编程,目标就是,如果一个数值发生变化,和它相关的数值会同时发生变化

    相关文章

      网友评论

          本文标题:函数式编程 响应式编程

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