iOS中利用函数式编程思想,实现计算器功能

作者: 打电话记错号码的人 | 来源:发表于2016-07-27 14:46 被阅读163次

作品链接:http://www.jianshu.com/users/1e0f5e6f73f6/top_articles

*函数式编程思想:是把操作尽量写成一系列嵌套的函数或者方法调用。

  • 函数式编程本质:就是往方法中传入Block,方法中嵌套Block调用,把代码聚合起来管理
  • 函数式编程特点:每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果)
  • 利用函数式编程思想,实现计算器功能

1.声明结果及block方法

@property (nonatomic, assign) int result;
- (instancetype)PH_calculate:(int(^)(int))calculateBlock;

2.实现block方法

- (instancetype)PH_calculate:(int (^)(int))calculateBlock
{
    _result = calculateBlock(_result);
    return self;
}

3.调用方法实现计算器功能


- (void)viewDidLoad {
    [super viewDidLoad];

    PHCalculateManager *calculateManager = [[PHCalculateManager alloc] init];

    int result = [[calculateManager PH_calculate:^int(int result) {
         // 存放所有的计算代码
        result += 8;
        result *= 8;
        result -= 4;
        result /= 3;
        return result;
    }] result];
    NSLog(@"%d",result);
}

5.结果如图所示


Snip20160727_2.png

相关文章

  • iOS中利用函数式编程思想,实现计算器功能

    作品链接:http://www.jianshu.com/users/1e0f5e6f73f6/top_articl...

  • iOS Developer 初级面试常见问题总结

    iOS 开发 RunLoop Cell 图片异步加载优化 iOS 函数式编程的实现 && 响应式编程概念 内存恶鬼...

  • iOS RAC学习

    一、RAC使用基础认知 RAC编程思想:响应式编程+函数式编程 在iOS中,类之间的传值,无非就是block、de...

  • RAC学习详解

    Block开发基础知识 链式编程思想简介 响应式编程思想简介 函数式编程思想简介 参考资料 iOS 关于MVC和M...

  • iOS中RAC的具体应用

    RAC的简介: ReactiveCocoa是响应式编程(FRP)在iOS中的一个实现框架。结合了函数式编程和响应式...

  • iOS中利用链式编程思想实现计算器

    作品链接:http://www.jianshu.com/users/1e0f5e6f73f6/top_articl...

  • iOS链式、函数式和响应式编程

    原文编程思想-iOS链式、函数式和响应式编程 在了解链式、函数式和响应式编程前,我们需要回顾下Block,它在下面...

  • 工作iOS技术总结

    链式编程、函数式、面向接口编程思想 iOS 之ReactiveCocoa 链式编程2 WKWebView的缓存处理...

  • iOS链式编程的实现方案

    在iOS中,Masonry自动布局库是典型的链式与函数式编程的集中体现。基于函数式编程范式的思想,包装组装对应的功...

  • RxSwift初探(1)

    一、前提:函数响应式编程思想 简单来说 函数响应式编程 = 函数式编程 + 响应式编程 (1)函数式 函数式编程是...

网友评论

    本文标题:iOS中利用函数式编程思想,实现计算器功能

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