OC中的链式语法

作者: 简书的推销员 | 来源:发表于2017-07-01 14:51 被阅读14次

刚开始接触链式语法是JS,如果用JS写UIView的初始化,大概是这样的UIView.alloc().init();

而我们写的语言并不是JS,而是OC,那么又怎么像JS一样的运用链式语法来进行编程呢?废话不多说,直接撸代码:

1. 首先我们自己创建UIView一个扩展,名字叫做ChainView:

2.我们自己定义UIView的初始化方法:

.h中:

.m中:[self new] 等同于 [[self alloc] init];

3.我们通过属性的方法通过block每次将当前的对象返回,从而来实现下一次的调用,形成链式的结构:

.h中:

.m中:

4.我们尝试调用一下:

首先引用我们创建的"UIView+ChainView",然后我们书写一下:

没有问题,编译器没有报错,然后我们打个断点运行一下:

我们发现输出结果跟我设置的是一样的。点击继续,查看一下屏幕上的输出:

完工!

通过这个例子我们实现了最简单的链式编程。有兴趣的同学,可以自己写写UIButton,UILabel等等来试试。

补充一下:链式语法声明的另一种方式,实现是一样的:

参考资料:Masonry   BabyBluetooth

相关文章

  • iOS 之Masonry点语法简单实现 OC链式(点)语法

    常见的OC中括号链式语法 Masonry 上图: 点语法:在 Objective-C 中,对于点语法的使用,最常见...

  • OC中的链式语法

    刚开始接触链式语法是JS,如果用JS写UIView的初始化,大概是这样的UIView.alloc().init()...

  • iOS链式语法深入实践

    要点 什么是链式语法 OC中的RAC、Masonry、SnapKit等链式编程的典型,大家应该都熟悉了Masonr...

  • OC链式语法的实现

    网友们对链式语法的评价:1. OC的中括号链式语法比较简单,就是中括号返回下一个中括号调用的对象即可。如[[[[s...

  • 像swift一样书写OC代码OC链式编程实践

    链式编程特点 链式编程 = 点语法 事物 串联 同样的hello word代码 OC和swift调用函数时候最大的...

  • OC实现链式语法

    1.什么是链式语法 简单的是说就是可以通过OC的点语法去调用方法甚至是连续调用多个方法,虽然OC本来可以通过点语法...

  • OC链式语法浅析

    一、什么是链式语法 不知道有没有官方的定义,个人理解的点语法主要包含点语法、小括号调用、连续调用几部分。其中比较有...

  • Async流程控制,支持oc链式语法

    Async流程控制,支持oc链式语法Github:https://github.com/shenhai193/As...

  • OC中链式语法的使用及原理

    最初见到链式语法的时候是在masonry库中,当时看到这种写法我是震惊的.一行代码可以赋值多个属性怎么一个爽字了得...

  • Masonry源码解析

    Masonry一直是OC中优秀的Auto Layout框架,尤其是其优雅的点链式语法设计,为人津津乐道。 今天我们...

网友评论

    本文标题:OC中的链式语法

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