当前位置:网站首页 > IOS编程 > 正文

iOS 链式编程思想_ios链式编程的原理

  1. 链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性提高。
  2. 链式编程特点:方法的返回值是block,block必须返回对象本身(返回block时,block所在的方法调用者对象)block的参数是需要操作的值。

代表是:masonry框架

下面是链式编程的一个代码实例。为任何一个类添加一个加法计算的功能

使用者ViewController.m的文件中

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // 1.让所有的类都可以计算 int result = [self calulate:^(CaculateManager *mgr) { // 把所有计算封装到CaculateManager mgr.add(5).add(5); NSInteger a = mgr.num; // [[mgr add:5] add:5]; }]; // 方法:返回值:对象本身,参数:需要计算值 NSLog(@"%d",result); }

NSObject+Caculate.h文件中

@class CaculateManager; @interface NSObject (Caculate) // 计算 - (int)calulate:(void(^)(CaculateManager *))block; @end

NSObject+Caculate.m文件中

@implementation NSObject (Caculate) // 计算 - (int)calulate:(void (^)(CaculateManager *))block { // 1.创建计算管理者 CaculateManager *mgr = [[CaculateManager alloc] init]; // 2.执行计算 block(mgr); return mgr.result; } @end

CaculateManager.h文件

@interface CaculateManager : NSObject // 保存结果值 @property (nonatomic, assign) int result; //- (instancetype)add:(int)value; - (CaculateManager *(^)(int))add; - (NSInteger)num; @end

CaculateManager.m文件

@implementation CaculateManager - (CaculateManager *(^)(int))add { // 返回block // 先定义block // CaculateManager *(^block)(int) = ^CaculateManager *(int value){ 
    // _result += value; // return self; // }; // 返回block return ^CaculateManager *(int value){ _result += value; return self; }; } @end

下图是对上面执行流程的详细描述。
执行流程示意图

到此这篇iOS 链式编程思想_ios链式编程的原理的文章就介绍到这了,更多相关iOS 链式编程思想_ios链式编程的原理内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 面向对象IOS编程中的聚合与耦合_面向对象ios编程中的聚合与耦合是什么2024-10-30 14:16:27
  • iOS编程中——id数据类型_id在编程中是什么意思2024-10-30 14:16:27
  • iOS编程——1种下拉效果(渐变)_iphone编辑下拉菜单2024-10-30 14:16:27
  • IOS小白入门指南_苹果小白教程2024-10-30 14:16:27
  • 【IOS编程 01】开发环境_ios开发环境搭建2024-10-30 14:16:27
  • 2023十大最牛编程语言排行榜以及各语言的优缺点_前十的编程语言2024-10-30 14:16:27
  • 苹果手机各种尺寸详细表以及iPhoneX、iPhone 11、iPhone 12、iPhone 13 屏幕适配,状态栏高度问题_苹果手机尺寸图2024-10-30 14:16:27
  • 【IOS编程 02】加法器_ios加法计算器实现代码2024-10-30 14:16:27
  • iOS编程学习十五_ios编程入门2024-10-30 14:16:27
  • iOS 最好的应用程序开发编程语言竟然是这7种_ios app开发用什么编程语言2024-10-30 14:16:27
  • 全屏图片