gpt4 book ai didi

iphone - initWithNibName、awakeFromNib 和 viewDidLoad 的说明?

转载 作者:IT王子 更新时间:2023-10-29 08:07:39 24 4
gpt4 key购买 nike

initWithNibNameawakeFromNibviewDidLoad 是否有很好的概述,列出了使用它们的最佳方法并准确描述每个做什么?我觉得这些很困惑。在使用 View Controller 生成的模板中,关于 initWithNibName 的注释说:

The designated initializer. Override to perform setup that is required before the view is loaded.

除了这个方法似乎从未被调用(我正在使用 IB 来设置 View Controller )。那么我应该使用 awakeFromNib 还是 viewDidLoad 来初始化呢?

最佳答案

我刚刚完成了关于这个主题的一些研究,所以我想我应该分享一些我学到的东西。

  1. 在 iPhone 的 View 中使用 awakeFromNib 没有任何问题。参见 this Apple Dev document .

  2. initWithCoder 不是从 NIB 文件加载 View 时进行初始化的好地方,因为同一 NIB 文件中的其他项目可能会也可能不会已在此时初始化。因此,例如,导出可能仍然为零。当调用 awakeFromNib 时,同一 NIB 文件中的所有项目都保证正确初始化。

  3. viewDidLoad 是在 viewController 中进行设置工作的好地方。

那么为什么要在 View 中使用 awakeFromNib 呢?我能想到的一个原因是,如果在初始化 View 并将其连接到 NIB 文件中的其他对象后,您有想要做的事情,但您只想将其封装在 View 中。这减少了与 View Controller 的链接。

关于iphone - initWithNibName、awakeFromNib 和 viewDidLoad 的说明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1240010/

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