美文网首页
iOS 函数式编程思想

iOS 函数式编程思想

作者: Onlyoner | 来源:发表于2017-06-21 15:45 被阅读0次

函数式编程思想 : 就是将操作尽可能的 写在一起 写成一个嵌套的函数;
就是往方法里边传入block,方法中嵌套block调用.

比如之前的加法管理者案例:
先创建一个SumManager

简单应用:

1.定义一个方法:

SumManager.h
- (void)manager:(void(^)())sumBlock;

2.实现这个方法:

SumManager.m
- (void)manager:(void(^)())sumBlock{
    
   sumBlock();

}

3.外界使用:

viewController.m
SumManager *mgr = [[SumManager alloc]init];
    
 [mgr manager:^() {
        NSLog(@"代码块写在这里");
  }];
    

实际应用

1.定义一个方法、定义一个属性:

SumManager.h
#import <Foundation/Foundation.h>

@interface SumManager : NSObject

/**  */
@property (nonatomic,assign) int result;

//计算
- (instancetype)manager:(int(^)(int result))sumBlock;
@end

2.实现返回对象:

SumManager.m

#import "SumManager.h"

@implementation SumManager
//计算
- (instancetype)manager:(int(^)(int result))sumBlock{

    
    //实现block的操作之后把值保存起来
    _result =  sumBlock(_result);
    
    //把自己返回去,通过对象取出自己的属性result的值
    return self;
}
@end

3.使用:

ViewController.m
#import "ViewController.h"
#import "SumManager.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    SumManager *mgr = [[SumManager alloc]init];
    
    int result = [[mgr manager:^int(int result) {
        //
        
        result += 10;
        result *= 2;
        return result;
   
    }] result];
//这个block执行完毕将计算完成的结果保存起来,返回的是manager本身,此时使用点语法就可以将属性的值取出了。
/*
 int result  = [mgr manager:^int(int result) {
        //
        
        result += 10;
        result *= 2;
        return result;
        
    }].result;
*/
    
    NSLog(@"result == %d",result);
    
    
}

NSLog:

2017-06-21 15:31:33.311 函数式编程[16804:3255310] result == 20

相关文章

  • RAC学习详解

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

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

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

  • 工作iOS技术总结

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

  • RxSwift初探(1)

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

  • 函数响应式编程思想 & RxSwift 核心逻辑(一)

    函数响应式编程思想 函数响应式编程思想即是将函数式编程和响应式编程相结合。 函数式编程 顾名思义,就是像函数一样的...

  • 简单点,理解iOS与函数式编程

    简单点,理解iOS与函数式编程 简单点,理解iOS与函数式编程

  • python面向对象1

    编程思想 编程思想:面向过程编程(穷人思想)、函数式编程、面向对象编程(富豪) 面向过程编程: 算法和逻辑 函数式...

  • iOS的block与编程思想(一)

    本文承接自上一篇《iOS的block与链式编程思想》 函数式编程 首先我们需要明白什么是函数式编程么?先说一点比较...

  • iOS RAC学习

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

  • Scala 入门

    1 函数式编程思想 1.1 介绍 1.2 scala函数式编程思想 2 环境搭建 3 实战 4 变量 函数 函数定...

网友评论

      本文标题:iOS 函数式编程思想

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