美文网首页
iOS中关于链式编程

iOS中关于链式编程

作者: 生产八哥 | 来源:发表于2016-09-06 17:14 被阅读27次

首先参考的是这篇写的非常不错的文章,写的非常清晰,在这里我就补充一点个人的理解,以加深印象。

首先大家应该熟悉block的定义及用法

- (People *(^)(NSString * name))people;

这个方法的返回值是block本身,而这个block的返回值是people这个类,所以他才能连续的使用点语法调用方法。

Masonry 与其它的第三方开源框架一样选择了使用分类的方式为 UIKit 添加一个方法 mas_makeConstraint
, 这个方法接受了一个 block, 这个 block 有一个 MASConstraintMaker
类型的参数, 这个 maker 会持有一个约束的数组, 这里保存着所有将被加入到视图中的约束.
我们通过链式的语法配置 maker, 设置它的 left
right
等属性, 比如说 make.left.equalTo(view)
, 其实这个 left
equalTo
还有像 with
offset
之类的方法都会返回一个 MASConstraint
的实例, 所以在这里才可以用类似 Ruby 中链式的语法.
在配置结束后, 首先会调用 maker 的 install
方法, 而这个 maker 的 install
方法会遍历其持有的约束数组, 对其中的每一个约束发送 install
消息. 在这里就会使用到在上一步中配置的属性, 初始化 NSLayoutConstraint
的子类 MASLayoutConstraint
并添加到合适的视图上.
视图的选择会通过调用一个方法 mas_closestCommonSuperview:
来返回两个视图的最近公共父视图.

相关文章

  • iOS中关于链式编程

    首先参考的是这篇写的非常不错的文章,写的非常清晰,在这里我就补充一点个人的理解,以加深印象。 首先大家应该熟悉bl...

  • 工作iOS技术总结

    链式编程、函数式、面向接口编程思想 iOS 之ReactiveCocoa 链式编程2 WKWebView的缓存处理...

  • iOS-链式编程思想

    在iOS中,链式编程虽然用的不太多,但是,在特定的应用环境下,利用block实现链式编程的话,会大大的提高编程效率...

  • iOS链式编程

    在iOS中,链式编程虽然用的不太多,但是,在特定的应用环境下,利用block实现链式编程的话,会大大的提高编程效率...

  • ReactiveObjC入门

    ReactiveObjC基础用法 iOS开发三种编程方式(响应式编程、函数编程、链式编程),函数编程最常用,链式编...

  • Block高级用法——链式编程简谈

    我的上一篇文章《iOS程序闪退时的处理一句代码搞定异常拦截》中提到了“链式编程”,可能有读者关于“链式编程”...

  • iOS链式编程

    iOS中关于链式编程最直接的参考框架就是自动布局的框Masonry,我们简单看一下它官方给出的例子: 实现 关于链...

  • 链式编程总结

    链式编程总结 @(iOS) 研究了一下链式编程,但是感觉项目中用处不是很多。 介绍 1.什么时候使用链式编程?在面...

  • RAC学习详解

    Block开发基础知识 链式编程思想简介 响应式编程思想简介 函数式编程思想简介 参考资料 iOS 关于MVC和M...

  • IOS_编程思想_链式编程练习

    在之前的两篇文章中已经简单的介绍了IOS的编程思想,那在此处写一个链式编程的联系来加深对链式编程思想的理解!!! ...

网友评论

      本文标题:iOS中关于链式编程

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