gpt4 book ai didi

objective-c - UIViewController 和 UIView 的关系

转载 作者:行者123 更新时间:2023-12-04 02:46:01 24 4
gpt4 key购买 nike

我正在尝试了解这两者之间的联系。每次创建 UIViewController 时,它是否也会自动附带自己的 UIView?

还有这些来自 Cocoa 或 Objective-C 的吗?

最佳答案

UIViewController 是为管理 UIView 而构建的 Cocoa Touch 类。它期望有一个 View 层次结构,但您不会“自动”获得一个 View (这有点不准确;请参阅下面的编辑)。通常,您将通过在 View Controller 上调用 initWithNibName 来获取 View 。

Interface Builder 中有一些内置魔法,它知道如果 File's Owner 是 UIViewController(或子类),则有一个名为 view 的属性。就是这样。

一旦你链接了一个 View Controller 和一个 View , View Controller 就会为你做大量的工作:它注册为 View 触摸事件的响应者,注册设备旋转通知(并自动处理它们,如果你愿意的话) ), 帮助您处理动画的一些细节,并半自动处理内存不足的情况。

编辑:更正——如果您不调用 initWithNibName 或手动设置 View 属性, View 属性 getter 将在 View 为 nil 时调用 loadView。 loadView 的默认实现将查看您是否已设置 nibBundle 和 nibName 并尝试从那里加载 View (这就是为什么大多数时候您没有调用 initWithNibName 的原因),但是如果未设置这些属性,它将使用默认值实例化一个 UIView 对象。所以从技术上讲,是的,它确实会自动附带自己的 UIView,但大多数时候值(value)不大。

关于objective-c - UIViewController 和 UIView 的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3434339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com