gpt4 book ai didi

swift - 创建对象时的 ViewController 类

转载 作者:搜寻专家 更新时间:2023-11-01 06:59:33 24 4
gpt4 key购买 nike

我创建了 View Controller 类并用函数和变量填充它们,但是我没有创建这些类的对象的主要对象。但是,我的程序仍然有效。所以,我的问题是这些类的实际实例是什么时候创建的?谁创造了它们?

最佳答案

基于 Apple 开发者文档:

UIViewController 类定义了所有 View Controller 共有的共享行为。 您很少直接创建 UIViewController 类的实例。 相反,您继承 UIViewController 并添加管理 View Controller 的 View 层次结构所需的方法和属性。

https://developer.apple.com/documentation/uikit/uiviewcontroller


生命周期事件顺序

  1. 初始化(编码器:)
  2. (无效)loadView
  3. (无效)viewDidLoad
  4. (void)viewWillAppear
  5. (void)viewDidAppear
  6. (void)didReceiveMemoryWarning
  7. (无效)viewWillDisappear
  8. (无效)viewDidDisappear

这是 ViewController 可用的时间

  • 初始化(编码器:)

Storyboard 中创建您的应用程序的 View 时,init(coder:) 是被调用以实例化您的 View Controller 并将其变为现实的方法。在 View Controller 的初始阶段,您通常会分配 View Controller 在其生命周期内需要的资源。在此方法中,您可以实例化依赖项,包括您将以编程方式添加到 View 的 subview 。请注意,init(coder:) 在对象的生命周期内仅调用一次,所有 init 方法都是如此。

init(coder:) 就像 C++ 或其他具有在内存中创建对象的主要功能的编程语言

但是在 Swift 中你不需要调用这个方法,因为 AppDelegate 已经为你做了这个 ;)

enter image description here

关于swift - 创建对象时的 ViewController 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51488622/

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