没有App Delegate可以工作吗?

时间:2014-01-23 18:20:31

标签: objective-c appdelegate

我的问题是基于这样一个事实:一个人可能有多个较小的项目,然后想要将它们整合到一个更大的项目中,以提高编码效率。

我看到多个项目没有使用App Delegate,我认为Adium项目就是其中之一。我过去也有几次能够重新创建它,现在我不记得如何。

我认为一个基本的NSObject继承类适合,以及它的实例化和连接。

问题是,是否可以在没有App Delegate(或有解决方法)的情况下工作?

2 个答案:

答案 0 :(得分:3)

如果要实现NSApplicationDelegate协议中声明的某些方法来响应某些应用程序生命周期事件,则需要应用程序委托。如果您不需要实现任何这些,则不需要应用程序委托。一些委托方法也有通知替代方案。

答案 1 :(得分:2)

好的,从你的评论......

I mean having no additional code in AppDelegate

然后是。

不仅可以,建议使用。正是因为你说的原因。

应用程序委托作为应用程序和操作系统之间的通信层。即“应用程序已启动”,“应用程序即将关闭”,“该应用程序刚收到通知”等...

所有这些都是应用代表的目的。

你的应用程序的逻辑不应该靠近你的app appate。就像你说的,你的应用程序中可能有不同的应用程序或不同的目标使用不同的应用程序代表。

如果您有代码,则必须将其复制到每个副本。

还有很多其他原因。

以下是一个快速链接... http://www.hollance.com/2012/02/dont-abuse-the-app-delegate/

还有很多其他人没有使用app delegate。