我刚开始研究 iPhone 应用程序。我怎么知道什么时候我应该把东西放在应用委托与自定义类?是否有规则或类似于 Python 或 PHP 这样的其他编程语言使用类似于 AppDelegate 的模式?
您的应用程序委托是您的应用程序的核心,它实际上是您的“程序控制器”。
应用程序代表是接收应用程序级消息的类,包括通常用于启动其他视图创建的 applicationDidFinishLaunching 消息。
虽然不完全相似,您可以将其视为您的 Cocoa 程序的“ main ()”例程。
我通常会避免使用 Andrew 使用的术语“应用程序的核心”所暗示的设计方法。我的意思是,我认为您应该避免将太多的东西集中在一个中心位置——好的程序设计通常包括按“关注区域”分隔功能。
委托对象是当与其连接的对象达到某些事件或状态时获得通知的对象。在这种情况下,应用程序委托是一个对象,当 UIApplication 对象达到某些状态时,它将接收通知。在许多方面,这是一个专门的一对一观察者模式。
这意味着应用代表的“关注区域”正在处理特殊的 UIApplication 状态。其中最重要的是:
你应该避免把其他的功能放在应用委托中,因为它们并不属于那里。这些其他的功能包括:
很多人把这些东西放到他们的应用程序代理中,因为他们懒惰,或者他们认为应用程序代理控制着整个程序。你应该避免集中在你的应用程序代表,因为它混淆了应用程序的关注领域,不能伸缩。
希望这个能帮到你。
初学这门语言的程序员总是有同样的问题——这个程序是从一个 main 方法开始的吗?是的,在这种情况下您是正确的; IOS 应用程序也从一个 main 方法开始。您的主类调用以下函数:
UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
UIApplicationMain 启动 Cocoa Touch 运行循环和应用程序基础结构,创建一个 UIApplication对象。我们的应用程序需要客观的内容-c 使用一个委托来处理这个问题。这就是为什么我们称之为 App臀(充当 UIApplication的代表)。我们实现了该委托的一些可选方法,它的行为相应。
UIApplication
@ Shivam,谢谢。
根据我对 appDelegate的理解,它接近于安卓系统中的 Application。viewDidLoad,viewDidDisappear可以与 Android 的生命周期相媲美。每个应用程序都有一个生命周期,从启动到来电中断,再到显示通知。如果在发生这些 system事件时需要代码执行特殊操作,那么需要编写方法代码。
appDelegate
Application
viewDidLoad
viewDidDisappear
system
在 Android 中,我们使用 onPause、 onDestroy、 onCreate类型的回调方法来处理这样的系统事件。
onPause
onDestroy
onCreate