UIApplicationDelegate其他类中的函数

时间:2012-03-27 00:37:33

标签: objective-c ios uiapplicationdelegate

是否可以符合UIApplicationDelegate并成功拥有在任何类中调用的启动/关闭时调用的所有函数?例如,如果我有一个类,在应用程序结束时保存大量数据是一个好主意,但我不想在App Delegate中创建对它的引用,是否可以它符合UIApplicationDelegate协议,然后执行保存在(void)applicationWillResignActive:(UIApplication *)application

更简洁:多个类符合UIApplicationDelegate是否有任何危险?

2 个答案:

答案 0 :(得分:4)

任何时候都只能为任何对象指定一个代理。听起来你真正想要做的就是注册通知。

或者,如果没有关于您想要的事情的通知,请将您的应用程序委托设置为将自定义通知发布到您希望在某些应用程序委托事件被触发时执行的所有各种类中的任何侦听器。

为了回答你的简洁问题,让多个班级符合UIApplicationDelegate不应该有“危险”,但同样,你只能让一个代表在任何时候回答UIApplication

答案 1 :(得分:4)

没有必要将代表设置为您的班级,也不可能有两名代表。
您可以做的是注册通知。

UIApplicationDidBecomeActiveNotification
UIApplicationDidChangeStatusBarFrameNotification
UIApplicationDidChangeStatusBarOrientationNotification
UIApplicationDidEnterBackgroundNotification
UIApplicationDidFinishLaunchingNotification

等等。查看UIApplication班级参考

Notifications的文档