博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【iOS编程思想】函数式编程
阅读量:5894 次
发布时间:2019-06-19

本文共 1033 字,大约阅读时间需要 3 分钟。

hot3.png

函数式编程思想

就是把每个操作都写作一连串的函数或者方法,使代码高度聚合,便于管理。

正因为每次都可以调用自己的方法,所以每次都返回自己。

例子:设计一个计算器Calulator:

Calulator属性和方法:

@interface Calulator : NSObject@property (nonatomic, assign) BOOL isEqule;//是否等于@property (nonatomic, assign) int result;//每次计算的结果//每次都返回自己- (Calulator *)caculator:(int (^)(int result))calulator;//每次都返回自己- (Calulator *)equle:(BOOL (^)(int result))operation;@end

实现方法:

@implementation Calulator- (Calulator *)caculator:(int (^)(int))calulator{        _result += calulator(_result);        return self;}- (Calulator *)equle:(BOOL (^)(int))operation{        _isEqule = operation(_result);        return self;}@end

用法:

计算 8 * 2 是否等于 16

// 8 * 2 == 16Calulator * c = [[Calulator alloc]init];// 计算 8 * 2 判断是否等于16BOOL isEqule = [[[c caculator:^int(int result) {//计算8 * 2        result += 8;    result *= 2;    return result;    }] equle:^BOOL(int result) {//计算结果是否为16        return  result == 16;    }] isEqule];//最后获取该bool值NSLog(@"%d",isEqule);

打印结果1,即等于:

173757_dz2h_2279344.png

函数式编程让代码高度聚合,就是这么炫酷这么装逼!

转载于:https://my.oschina.net/Misayalvyuan/blog/720981

你可能感兴趣的文章
[置顶] 小本求职了---实习岗位
查看>>
Oracle中查看所有表和字段以及表注释.字段注释
查看>>
UVA 10564 - Paths through the Hourglass (dp)
查看>>
鼠标钩子--- 悬浮窗口
查看>>
Web工程师的工具箱 | 酷壳 - CoolShell.cn
查看>>
ASP.NET Web API自身对CORS的支持: EnableCorsAttribute特性背后的故事
查看>>
Eclipse 常用快捷键
查看>>
INDEX--索引页上存放那些数据
查看>>
INDEX--关于索引的琐碎
查看>>
sql查看所有表大小的方法
查看>>
nexus7 1代 刷4.2.2+root[转]
查看>>
UNIX网络编程读书笔记:TCP输出、UDP输出和SCTP输出
查看>>
扩展 DbUtility (1)
查看>>
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
查看>>
使用UITableView实现图片视差效果
查看>>
CentOS RHEL 安装 Tomcat 7
查看>>
erlang如何有效地监视大量的并发连接
查看>>
Windows下Mysql5.6启用监控执行脚本的日志
查看>>
Apple Developer Registration and DUNS Number Not Accepted
查看>>
Hadoop学习笔记系列文章导航
查看>>