我什么时候应该发布[[UIApplication sharedApplication]委托]对象?

Ste*_*eve 0 iphone uiapplication uiapplicationdelegate ios4 ios

我在我的应用程序中多次使用以下代码(特别是管理NavigationController):

MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
Run Code Online (Sandbox Code Playgroud)

我应该什么时候发布它?

感谢帮助,

斯特凡

Mac*_*Mac 7

别.永远不要释放您的应用程序委托 - 它由操作系统自动管理.

如果您查看应用程序的main.m文件,您将看到一些代码初始化UIApplication代表您的应用程序的实例- 它负责管理应用程序委托的生命周期,而不是您的责任.

编辑 @Goz指出,release如果在某些时候你应该这样retain做.然而,由于应用对象(因此,通过扩展其代表)是保证保持在范围内的应用程序的生命(除非你与它搞乱),它远远不如干脆没有做任何内存管理上的委托,因为这可以避免意外过度释放或其他相关问题.