如果在AppDelegate中为通知添加观察者,我是否需要打扰删除它?

Jin*_*Kim 6 nsnotifications ios

在AppDelegate中didFinishLaunchingWithOptions:

[[NSNotificationCenter defaultCenter] addObserver:self 
                                      selector:@selector(contextChanged:)
                                      name:NSManagedObjectContextDidSaveNotification
                                      object:nil];
Run Code Online (Sandbox Code Playgroud)

这样我就可以将更改合并到其他线程的数据中.

问题:我是否需要在applicationWillResignActive或中删除此侦听器applicationWillTerminate?看起来似乎没有意义.我想我问的是,在主循环中有这样的监听器是否正常,从来没有被删除过.

fbe*_*rdo 7

你永远不能删除它,但如果你的应用程序在后台收到通知(在这种情况下不会发生),通知将排队并在应用程序再次启动时传送给应用程序(如果应用程序不是杀死了c).

如果不希望在应用程序处于后台运行时发生的通知一旦出现就可以通过您指出的方法删除侦听器.

在这种情况下,实际上,没关系.