网友们对链式语法的评价:
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标签上即可
网友评论