gpt4 book ai didi

ios - 我可能创建的 RootViewController、AppDelegate 和 View Controller 类之间有什么区别?

转载 作者:技术小花猫 更新时间:2023-10-29 10:11:48 27 4
gpt4 key购买 nike

我正在尝试学习 iPhone 编程,但我一直看到这些文件,但我不确定在执行为 iPhone 构建的程序时会引用每个文件和这些文件的内容。我正在尝试遵循在线提供的教程和提示,但没有任何地方可以进行逐点比较或类似的东西。如果你们中的任何人能列出一些基本差异,例如何时引用每个文件以及理想情况下应该将什么放入每个文件等等,那就太好了。感谢您抽出时间。

最佳答案

一般来说,委托(delegate)可以被认为是事件处理程序。因此,AppDelegate 是整个应用程序的主要事件处理程序。它被告知应用程序何时启动、何时退出、推送通知何时进入、应用程序何时进入后台等。其中一个事件 - applicationDidFinishLaunching - 通常负责创建应用程序的窗口并添加 View 到那个窗口。

在大多数应用程序中,添加到窗口的 View 实际上是由 UIViewController 控制的。每个 UIViewController 负责管理一个主视图及其所有 subview 的外观。例如,UITableViewController 负责管理 UITableView(主视图)和插入到该 UITableView 的所有 UITableViewCells( subview )。 UIViewController 通常充当它负责的 View 的委托(delegate)(事件处理程序)。当用户点击表格 View 单元格时,将调用 UITableViewController 中的方法。当用户滑动删除时,调用一个单独的方法。

通用 UIViewController 提供相同的基本功能,但用于自定义 View 。例如,UIViewController 可能负责显示一些 TextView 和一个按钮。 UIViewController 将创建它的主视图、 TextView 和按钮 View 。 TextView 和按钮 View 将作为 subview 添加到 View Controller 的主视图中。 UIViewController 会将自己注册为 TextView 中事件的委托(delegate)(例如,了解用户何时完成 TextView 中的文本编辑)。它还将注册一种方法来处理源自其拥有的按钮的按钮按下。当任何这些注册事件发生时,UIViewController 上的方法将被调用,允许您采取任何需要的行动。

rootViewController 是与导航 Controller 一起使用的特定类型的 View Controller 。如果您想要一个具有典型 iOS 导航 View 层次结构的应用程序,您的 AppDelegate 通常会将 UINavigationController 添加到应用程序的窗口。 UINavigationController 在没有实际显示内容的情况下是无用的。这就是 rootViewController 发挥作用的地方。您负责提供一个 View Controller (例如上面描述的那个)作为存储在 UINavigationController 的 View 堆栈中的第一个 View 。此 View 将在应用启动时以及用户从 UINavigationController 的堆栈中弹出后续 ViewController 的任何时候显示。

长篇大论我意识到 - 但希望它有所帮助。

关于ios - 我可能创建的 RootViewController、AppDelegate 和 View Controller 类之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3626737/

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