视图控制器介绍
视图控制器负责管理视图及其子视图。在macOS中,视图控制器被实现为NSViewController的子类。
视图控制器已经有一段时间了(苹果公司推出了OS X 10.5),但是在OS X 10.10之前,它们并不是响应者链中的一部分。这意味着,例如,如果你在视图控制器视图上有一个按钮,控制器将不会收到它的事件。然而,在OS X 10.10之后,视图控制器变得非常有用,可以构建更复杂的用户界面。
视图控制器允许您将窗口内容分割为逻辑单元。视图控制器负责处理这些较小的单位,而窗口控制器处理窗口特定的任务,如调整窗口大小或关闭窗口。这使您的代码更容易组织。
另一个好处是视图控制器很容易在其他应用程序中重用。如果左侧分层视图的文件浏览器由单个视图控制器控制,则可以在需要类似视图的其他应用程序中使用它。节省时间和精力。
什么时候使用窗口控制器 什么时候使用视图控制器
在OS X 10.10 Yosemite之前,NSViewController不是一个非常有用的类。 它没有提供任何您可能期望的视图控制器功能 - 例如,可以在UIViewController中找到。
自从引入了这些变化以来,像视图生命周期和在响应者链中包含视图控制器以从其视图中接收事件一样,Apple正以与iOS开发相同的方式推广模型视图控制器(MVC)模式。 您应该使用视图控制器来处理视图和子视图以及用户交互的所有功能。 使用窗口控制器实现与应用程序窗口关联的功能,例如设置根视图控制器,调整大小,重新定位,设置标题等。