iOS 开发之函数式编程思想(Functional Programming)

  函数式编程(Functional Programming),

  函数式编程强调的函数:1、不依赖外部状态;2、不改变外部状态。

  函数式编程可解决线程安全问题,每一个函数都是线程安全的。

  时间状态:变量一旦有了状态,它就有可能随着时间而发生变化,时间是最不可预知的因素。

  空间状态:如果把一个线程看成一个独立的空间,在程序的世界当中,空间会产生交叉重叠。一个变量如果可以被两个线程同时访问,它的值如果可以在两个空间发生变化,这个变量同样变得很危险

  高阶函数:参数为函数或返回值为函数的函数;

  实现一个计算器:

#import <Foundation/Foundation.h>

@interface SumManager : NSObject

@property (nonatomic, assign) int result;

- (instancetype)manger:(int(^)(int result))sumBlock;

@end



@implementation SumManager

- (instancetype)manger:(int (^)(int))sumBlock {
    _result = sumBlock(_result);
    return self;
}

@end

  

SumManager *mgr = [[SumManager alloc] init];
    int result1 = [mgr manger:^int(int result) {
        result += 10;
        result *= 3;
        return result;
    }].result;
    NSLog(@"结果:%d",result1);

 

 

 

转载于:https://www.cnblogs.com/ZachRobin/p/9803659.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值