AppDelegate和ViewController类之间的iOS区别[关闭]
Posted
技术标签:
【中文标题】AppDelegate和ViewController类之间的iOS区别[关闭]【英文标题】:iOS difference between AppDelegate and ViewController class [closed] 【发布时间】:2013-08-26 22:48:51 【问题描述】:我如何知道 AppDelegate 类中的哪些代码以及 ViewController 类中的哪些代码。这两个类在UIViewController
和applicationDidFinishLaunching:
中都有类似的viewDidLoad
方法UIApplicationDelegate
。我猜applicationDidFinishLaunching:
会首先被调用,这就是你创建视图的地方。但是有人可以解释一下这些类中的通用代码吗?
【问题讨论】:
我强烈怀疑一本好的 ios 开发书籍。您将花费的最佳 30 美元。如果你在一个大城市,你的图书馆可能有一个。这个主题比你的问题所涵盖的要多得多。UIApplicationDelete applicationDidFinishLaunching
和 UIViewController viewDidLoad
除了都是 Cocoa-touch 类中的方法外,没有什么相似之处。
【参考方案1】:
简单地说,App Delegate 是特殊/不同,因为它获得了诸如didFinishLaunchingWithOptions
或applicationWillTerminate
之类的应用程序方法。您想将它用于整个应用程序设置或准备终止您的应用程序,即保存需要重用的对象、清除不必要的对象等,而不是将所有内容放在那里而不是相关的视图控制器。看来您对viewDidLoad
和didFinishLaunchingWithOptions
感到困惑。 viewDidLoad
在第一次加载视图控制器时被调用,didFinishLaunchingWithOptions
在整个应用程序加载完成时被调用。
【讨论】:
【参考方案2】:AppDelegate 用于整个应用程序,您可以使用它来管理应用程序的生命周期,而 ViewController 用于单个视图。您可以使用它来管理视图的生命周期。一个应用程序可以有多个视图。但只有一个 AppDelegate。
【讨论】:
以上是关于AppDelegate和ViewController类之间的iOS区别[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
将 AppDelegate.h 和 AppDelegate.m 替换为 AppDelegate.swift
AppDelegate.swift 如何在 Xcode 6.3 中替换 AppDelegate.h 和 AppDelegate.m
swift中AppDelegate和Context的作用是啥?