AppDelegate和ViewController类之间的iOS区别[关闭]

Posted

技术标签:

【中文标题】AppDelegate和ViewController类之间的iOS区别[关闭]【英文标题】:iOS difference between AppDelegate and ViewController class [closed] 【发布时间】:2013-08-26 22:48:51 【问题描述】:

我如何知道 AppDelegate 类中的哪些代码以及 ViewController 类中的哪些代码。这两个类在UIViewControllerapplicationDidFinishLaunching: 中都有类似的viewDidLoad 方法UIApplicationDelegate。我猜applicationDidFinishLaunching: 会首先被调用,这就是你创建视图的地方。但是有人可以解释一下这些类中的通用代码吗?

【问题讨论】:

我强烈怀疑一本好的 ios 开发书籍。您将花费的最佳 30 美元。如果你在一个大城市,你的图书馆可能有一个。这个主题比你的问题所涵盖的要多得多。 UIApplicationDelete applicationDidFinishLaunchingUIViewController viewDidLoad 除了都是 Cocoa-touch 类中的方法外,没有什么相似之处。 【参考方案1】:

简单地说,App Delegate 是特殊/不同,因为它获得了诸如didFinishLaunchingWithOptionsapplicationWillTerminate 之类的应用程序方法。您想将它用于整个应用程序设置或准备终止您的应用程序,即保存需要重用的对象、清除不必要的对象等,而不是将所有内容放在那里而不是相关的视图控制器。看来您对viewDidLoaddidFinishLaunchingWithOptions 感到困惑。 viewDidLoad 在第一次加载视图控制器时被调用,didFinishLaunchingWithOptions 在整个应用程序加载完成时被调用。

【讨论】:

【参考方案2】:

AppDelegate 用于整个应用程序,您可以使用它来管理应用程序的生命周期,而 ViewController 用于单个视图。您可以使用它来管理视图的生命周期。一个应用程序可以有多个视图。但只有一个 AppDelegate。

【讨论】:

以上是关于AppDelegate和ViewController类之间的iOS区别[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将 AppDelegate.h 和 AppDelegate.m 替换为 AppDelegate.swift

AppDelegate.swift 如何在 Xcode 6.3 中替换 AppDelegate.h 和 AppDelegate.m

在自身外部访问和修改 AppDelegate

swift中AppDelegate和Context的作用是啥?

AppDelegate.m 和 View Controller.m 的区别

React Native Facebook 登录和分支 AppDelegate