0
点赞
收藏
分享

微信扫一扫

OC中的链式语法

刚开始接触链式语法是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

举报

相关推荐

0 条评论