美文网首页
OC链式语法的实现

OC链式语法的实现

作者: Sweet丶 | 来源:发表于2018-03-22 18:40 被阅读13次

网友们对链式语法的评价:

1. OC的中括号链式语法比较简单,就是中括号返回下一个中括号调用的对象即可。如 [[[[someObject a] and] b] someMethod:5] 中括号链式语法

2. 有人会说,点链式语法是对属性(点语法)的误用,本质上没有任何改变,反而使方法的调用层次更加深,不过在我看来,与它带来的便捷、优雅、简单易读而又不降低性能相比,即使是误用又算什么 !!

点链式语法本质是利用了oc点语法调用setter/getter方法的特性,将getter方法写成返回值为一个返回值为自身对象的block。点链式语法的广为人知是因为Masory自动布局框架,使用Masory框架添加约束比手写代码添加约束清晰简单了很多很多。

Masory里面的点语法

- (MASConstraint * (^)(CGSize))sizeOffset {  

     return ^id(CGSize offset) {      

      self.sizeOffset = offset;      

      return self;   

    };

}

- (MASConstraint *)with {

  return self;

}

- (MASConstraint *)and {

  return self;

}

自己动手实践推荐:使用点链式语法实现”➕➖✖️➗“

因为要自己去实践一下所以才截图的 将结果显示在self.resultL标签上即可

相关文章

网友评论

      本文标题:OC链式语法的实现

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