在iPhone应用程序中可能有多个符合UIApplicationDelegate协议的类是否有意义?

Tha*_*nks 5 iphone

我想我已经理解了代表应该做的事情.如果一个类符合该协议,它会告诉底层系统:"嘿,我是UIApplication对象的委托!告诉我发生了什么,我可以告诉你该做什么!".

什么,如果多个类实现了这个?那可能吗?这有任何意义吗?

And*_*ant 10

虽然您可以实现符合UIApplicationDelegate协议的多个类,但只有一个,第一个将接收这些消息.

实现创建委托的协议只是等式的一部分.然后,该代理必须使用生成消息的代码进行注册,这些系统通常只支持一个代理.

对于UIApplication,您可以使用UIApplication共享类中的"delegate"属性更改委托,但这将替换原始委托,而不是添加另一个委托.

如果您需要将UIApplication级别消息广播到其他系统,那么这是您应该添加到现有委托的功能.


Dan*_*son 5

您可以实现多个采用UIApplicationDelegate协议的类,但在任何给定时间只能有一个实际的委托.它是由设置的[UIApplication sharedApplication].delegate,通常由主NIB文件通过插座连接设置.