将大多数逻辑和模型放在appDelegate中是否可以?

nyc*_*nik 5 ios

对于我的大多数应用程序,我已将所有逻辑放在类中,每个ViewController也会获得类的引用,或者创建/释放对象本身.

我刚刚开始阅读一本关于IOS的书,作者似乎想把app逻辑放在appDelegate中,而viewcontrollers只是将动作转发给做实际工作的appDelegate方法.

作者是这样做的,因为它们是简单的例子,或者这是我应该学习的东西,并开始在我的应用程序中做什么?

Rob*_*ier 13

首先,请参阅最佳描述应用程序代理的内容?它如何适应整个概念?

应用程序委托是应用程序的委托.它不是容纳你不知道放在哪里的所有东西的地方.它不是全局变量的存储位置.它是UIApplication对象的委托.因此,将代码与启动应用程序,终止,切换到后台等相关的代码放在正确的位置等等.这些内容与应用程序如何适应操作系统有关.

应用程序委托是一个控制器,因此它不应该保存数据.数据在模型中.应用程序委托可以在启动时创建模型并将其交给其他控制器,但它不是模型的API.通常,模型是单例,而不是由应用程序委托创建.两种方法都有优势.

大多数示例代码将模型代码放在app委托中,因为对于简单的示例,它需要的代码少一些.但在实际程序中,它使应用程序委托过于复杂,并且显着损害了代码重用.您的应用程序委托通常应该非常小,并且其中的大多数方法应该是其中的一部分<UIApplicationDelegate>.