iOS 简单地函数式编程

一 方法的实现

#import <Foundation/Foundation.h>

@interface RJBlockTool : NSObject
//计算
+ (RJBlockTool *)makeMethodCalculator:(CGFloat(^)(CGFloat result))block;
- (BOOL)isEqualResult:(BOOL (^)(CGFloat result))block;
@end
#import "RJBlockTool.h"
@interface RJBlockTool()
//1 计算的结果
@property(nonatomic,assign) CGFloat resultCalculator;
@end

@implementation RJBlockTool
+(RJBlockTool *)makeMethodCalculator:(CGFloat (^)(CGFloat))block{
    if (block) {
        RJBlockTool *tool = [[RJBlockTool alloc] init];
        tool.resultCalculator = block(tool.resultCalculator);
        return tool;
    }
    return nil;
}
-(BOOL)isEqualResult:(BOOL (^)(CGFloat))block{
    return block(self.resultCalculator);
}
@end

二 使用

NSLog(@"isEqualResult---%d",[[RJBlockTool makeMethodCalculator:^CGFloat(CGFloat result) {
        result += 100;result /= 10;return result;
    }] isEqualResult:^BOOL(CGFloat result) {
        return result==10;
    }]);
isEqualResult---1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,319评论 25 708
  • 今天我去了奈良公园,那里到处都是鹿。还有喂鹿的鹿饼干,150一份,我买了好多来喂鹿。我把鹿饼干举起来,他们就向我点...
    两只小皮阅读 250评论 0 0
  • 健身房:跑步3公里,耗时22分钟
    JanePlus阅读 182评论 0 0
  • 作者:无厘头_姑娘 (一) 那一年,他们远不及现在的同龄人成熟,像未发育完全的孩子,素面朝天,满面青春; 那一年,...
    揪咪的酒阅读 2,255评论 15 34
  • 你克服所有困难, 坚持到了最后。 因为你在几天的培训中, 认真学习,积极主动。 坚持没有往家跑, 让自己得到了很多...
    心如莲花_fea1阅读 460评论 5 9

友情链接更多精彩内容