读《最快让你上手ReactiveCocoa之基础篇》随笔

最近作者在读简书上的一篇名为《最快让你上手ReactiveCocoa之基础篇》的文章的时候,看到了作者在文章上用函数式编程的原理做了一个简单的计算器,但文中并未贴出Caculator这个类的实现,于是作者试着实现了一下,最终也能完成这个类的实现,其实实现的代码很简单,主要理解函数式编程到底是个什么样的概念。

以下是文章的地址:http://www.jianshu.com/p/87ef6720a096

以下是完成的代码:

首先是类的定义


Caculator.h

#import@interface Caculator : NSObject

@property (nonatomic ,assign) BOOL isEqual;

@property (nonatomic, assign) int result;

-(Caculator * )caculotor:(int(^)(int result))cacultor;

-(Caculator * )equal:(BOOL(^)(int result))operation;

@end

下面是类的实现

#import "Caculator.h"

@implementation Caculator

-(instancetype)init{

if (self = [super init]) {

_result = 0;

}return self;

}

-(Caculator * )caculotor:(int(^)(int result))cacultor{

_result = cacultor(_result);

return  self;

}

-(Caculator * )equal:(BOOL(^)(int result))operation{

self.isEqual = operation(_result);

return self;

}

@end

最后是调用方法

- (void)viewDidLoad {

[super viewDidLoad];

Caculator * caculaotr= [[Caculator alloc]init];

BOOL isEqual =  [[[caculaotr caculotor:^int(int result) {

result+=2;

result*=5;

return result;

}] equal:^BOOL(int result) {

return  result==10;

}] isEqual];

NSLog(@"isEqual%d",isEqual);

// Do any additional setup after loading the view, typically from a nib.

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,904评论 25 709
  • 前言 很多blog都说ReactiveCocoa好用,然后各种秀自己如何灵活运用ReactiveCocoa,但是感...
    袁峥阅读 248,467评论 231 1,614
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,190评论 4 61
  • 不必说再见(点击收听原文)1 第一次见她,她只是来向我借相机的小学妹,一米六的身高,很瘦,脸色偏黑,记不清她那日穿...
    韩小小阅读 3,142评论 5 3
  • 时间:2016年2月6日 内容:第八章 第八章是我在放假之前就开始阅读的章节,这一章主要叙述的是企业与利益相关者之...
    铁家军贝贝阅读 2,854评论 2 2