【问题标题】:What's the difference between a View and a ViewController? [duplicate]View 和 ViewController 有什么区别? [复制]
【发布时间】:2015-08-04 16:28:34
【问题描述】:

从 Delphi 来到 Swift,我认为 View 代表应用程序的 GUI,而故事板是 View 底层代码的可视化表示。 ViewController 是 View 与之交互的唯一且唯一的对象。当popular tutorial

在过去,开发人员习惯于创建单独的接口文件 用于每个视图控制器的设计。

我认为“单独的界面文件”是视图文件。但是当我了解更多时,我越来越困惑。在来自新应用程序的空 Main.storyboard 屏幕截图下方,文字显示

视图控制器的官方故事板术语是“场景” 但您可以互换使用这些术语。场景是什么 代表故事板中的一个视图控制器......在这里你看到一个 包含空视图的单视图控制器。

所以我看到的是“单一视图控制器”,而不是视图??当我注意到情节提要上显示的任何视图(?)在 Swift 中被称为“视图控制器”时,就会感到困惑。

那么,View 和 ViewController 之间有什么区别?故事板是如何关联的?什么对象“拥有”类似 segue 的东西,它存在于我对这些概念的(有缺陷的)理解之外?

【问题讨论】:

  • 我无法像其他人那样回答这个问题,所以我只在这里发表评论。最简单的区分方法是将视图控制器视为具有一个视图的容器,该容器将具有其他子视图。视图容器将有一些闪亮的回调,您可能会在应用程序的某个点 func viewDidAppear(animated: Bool)func viewDidLayoutSubviews() 中需要这些回调。视图本身是您可以在视图控制器中绘制内容或创建视图层次结构的地方,除非您不会拥有视图控制器具有的所有回调。

标签: swift


【解决方案1】:

看看这篇文章 - What is the difference between a View and a View Controller?

这对我来说描述得很好。

如果你不想去链接,这里有一个很好的描述viewview controller之间的区别Alex Wayne

视图是绘制到屏幕上的对象。它还可能包含 它内部的其他视图(子视图)并随它移动。意见可以 获取触摸事件并更改其视觉状态作为响应。意见是 愚蠢,不了解您的应用程序的结构,并且是 只是告诉他们以某种状态展示自己。

视图控制器不能直接绘制到屏幕上,它管理一个 一组视图对象。视图控制器通常只有一个视图 有很多子视图。视图控制器管理这些状态 意见。视图控制器很聪明,并且了解您的 应用程序的内部工作。它告诉哑视图对象要做什么 做什么以及如何展示自己。

视图控制器是整个应用程序和 屏幕。它根据以下逻辑控制它拥有的视图 你的申请。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2013-02-13
    • 2011-04-26
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多