Iphone AppDelegate中何时调用(void)dealloc?
我知道实例变量是在Iphone AppDelegate中何时调用(void)dealloc?,iphone,objective-c,ios,dealloc,Iphone,Objective C,Ios,Dealloc,我知道实例变量是在dealloc中发布的(如下所示),但它确切的调用时间是什么时候?是否所有实例变量都是在应用程序关闭时释放的,或者是否有一种可接受的方式在它们不再需要时单独释放它们 - (void)dealloc { [fred release]; [wilma release]; [barney release]; [betty release]; [super dealloc]; } 与任何其他对象一样,当没有其他对象保留应用程序委托时,应用程序委
dealloc
中发布的(如下所示),但它确切的调用时间是什么时候?是否所有实例变量都是在应用程序关闭时释放的,或者是否有一种可接受的方式在它们不再需要时单独释放它们
- (void)dealloc {
[fred release];
[wilma release];
[barney release];
[betty release];
[super dealloc];
}
与任何其他对象一样,当没有其他对象保留应用程序委托时,应用程序委托将被解除分配。在应用程序终止之前,应用程序委托不会一直存在,这是非常罕见的。正如其他人所指出的,应用程序可能不会在退出之前发布和释放任何东西
我认为,如果除应用程序之外没有其他对象保留应用程序委托,并且您为应用程序提供了一个新委托,那么应用程序委托将被解除分配,这是一个安全的赌注。除了这种不寻常的情况之外,app委托的-dealoc方法可能根本不会经常被调用。然而,这并不意味着你不应该正确地实现它——这是预期的行为,在未来的iOS版本中,事情可能会很容易发生变化。可能是重复的感谢,@Vladimir,但我对它是否被调用不太感兴趣,而是知道它被调用的具体时间。很清楚,你忘记了
[super dealoc]
在方法的末尾,)@Eimantas-更正。谢谢。