我在AppDelegate.h文件中添加了这段代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(saveDataAndSettings)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
}
我通常写这个:
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
如果我将UIViewController类设置为观察者(非ARC).
我想知道,如果我在AppDelegate中这样做,我还是应该插入这一行:
[[NSNotificationCenter defaultCenter] removeObserver:self];
在applicationWillTerminate:方法中.
因为应用程序将被终止,这样做是否有意义?
提前致谢
最佳答案 实际上,无需在dealloc或applicationWillTerminate:app委托中进行大量清理.应用程序即将消失.
应该完成诸如关闭/保存文件和其他类似类型的清理之类的事情,但是在即将退出的过程中清理内存或观察者没什么意义.