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

    相关文章

      网友评论

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

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