#本人有若干成套学习视频, 可试看! 可试看! 可试看, 重要的事情说三遍 包含Java
, 数据结构与算法
, iOS
, 安卓
, python
, flutter
等等, 如有需要, 联系微信tsaievan
.
ViewController
在开发的过程中, 可能因为业务需求地增多, 变得越来越庞大, 这个时候, 我们需要为ViewController
瘦身, 这时候我们可以用到一个特殊的"控件"-----Object
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3UXJPPBA-1575476463263)(https://upload-images.jianshu.io/upload_images/2868984-f113d55139964fd9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
官方文档对这个"控件"的解释是:
Turn this object into an instance of a specific class using the custom class inspector.
This object is often used to instantiate custom controllers that are separate from view controllers, yet still maintain action and outlet relationships to views.
简单来说就是自定义的控制器, 是从 view controllers
分离出来的, 分担了一部分 view controllers
的功能, 用于处理view
的事件处理和属性等
在使用Object
时, 就跟使用控件一模一样, 把它拖到控制器中, 然后与自己的类关联.
上图就是一个object
控件, 然后关联了自己的类, 并且拖线到控制器中:
此时, 控制器是持有这个类的. 然后我可以将控制器中处理按钮点击事件的逻辑, 全部转移到object
中去执行, 如果有数据要回传到控制器中, 那么可以用代理回调. 或者object
弱持有控制器.
控制器和Object
之间的关系如下图:
这实际上是将代码分门别类, object
去处理具体的业务逻辑, 不同的逻辑由不同的object
来处理, 而控制器相当于做一个业务分发:
#####PS:部分内容借鉴自<iOS UI 开发捷径>一书, 侵删