Xcode 生成的 AppDelegate 和 ViewController 文件的用途是啥?
Posted
技术标签:
【中文标题】Xcode 生成的 AppDelegate 和 ViewController 文件的用途是啥?【英文标题】:What's the purpose of the AppDelegate and ViewController files that Xcode generates?Xcode 生成的 AppDelegate 和 ViewController 文件的用途是什么? 【发布时间】:2011-06-07 15:33:08 【问题描述】:我已经编写了一些功能正常的 iPhone 应用程序,但主要是通过遵循告诉您在哪里编写代码的教程。结果,我不明白这些文件的实际设计目的是什么。
我使用AppDeleagte
文件的application
方法中的代码制作了一个应用程序,因此在程序运行时会调用它。我想让这段代码在按下按钮时运行,所以我添加了一个按钮,但是当我将代码放在相关的IBAction
中时,我意识到我需要的所有变量和方法都在AppDelegate
文件中,所以我无法在ViewController
文件中使用它们。
所以我的直接问题是“我应该如何组织我的代码,以便我可以让它在按下按钮时运行?”但是对它背后的概念的解释也很好,因为这样我就可以不问下一次。
【问题讨论】:
【参考方案1】:简而言之,AppDelegate 处理应用程序级事件。示例:应用程序变为非活动状态,应用程序启动等。因此,当应用程序启动时您需要设置的任何内容都可以进入那里。至于你的问题,我建议将变量移动到一个单例类,或者让另一个类只包含变量和方法作为你的 appdelegate 中的成员,并像 madhu 建议的那样做。将变量和方法直接放在您的应用委托中是可行的,但一段时间后它可能会变得庞大而令人讨厌。
【讨论】:
好吧,所以应该只有一个 appDelegate 文件来做应用程序管理,然后我写的代码应该被分类到类文件中,如果它们需要绑定到 UI,这些文件会被导入到 viewController元素? 是的。我的意思是有很多方法可以做到这一点,但尽量保持 appdelegate 很小,并且只有 app 事件相关代码。您可以让单身人士处理通过应用程序或类似应用程序使用的数据。【参考方案2】:导入“AppDelegate”
在视图控制器的实现文件中
AppDelegate *app=(AppDelegate*)[[UIApplication sharedApplication]delegate];
[app inappDelegateDeclaredFunctionname];
【讨论】:
是否也需要在头文件中声明? 不。如果您需要任何即时帮助,请通过桌面通知继续登录 iphone / ipad 聊天室以上是关于Xcode 生成的 AppDelegate 和 ViewController 文件的用途是啥?的主要内容,如果未能解决你的问题,请参考以下文章
AppDelegate.swift 如何在 Xcode 6.3 中替换 AppDelegate.h 和 AppDelegate.m
UIApplication 中的窗口和 AppDelegate 中的窗口是啥关系?
AppDelegate 和操作目标(Objective-c 2.0 和 Xcode)
Xcode Interface Builder 未显示 App Delegate 对象