不能在NSNotificaitonCenter的addObserver中使用UIApplicationDidEnterBackgroundNotification作为名称:selector:name:object:method

时间:2015-06-23 01:27:25

标签: ios

我将一个文件复制到一个新项目中,似乎工作正常。这段代码也在旧项目中工作,但突然之间(在新项目中),我得到了一些我无法弄清楚的错误。

NSNotificationCenter *center = [NSNotificationCenter defaultCenter];

[center addObserver:self
           selector:@selector(saveBookmarks)
               name:UIApplicationWillTerminateNotification
             object:nil];
[center addObserver:self
           selector:@selector(saveBookmarks)
               name:UIApplicationDidEnterBackgroundNotification
             object:nil];

使用名称UIApplicationWillTerminateNotification给出了错误“使用未声明的标识符UIApplicationWillTerminateNotification。”

使用名称UIApplicationDidEnterBackgroundNotification向我提供错误消息“使用未声明的标识符UIApplicationDidEnterBackgroundNotification”并尝试将名称更改为NSExtensionHostDidEnterBackgroundNotification,以清除错误,但这不是我需要的内容?!

我知道这段代码之前正在运作,但我不能为我的生活弄清楚为什么它现在不起作用。

2 个答案:

答案 0 :(得分:10)

你可能只是缺少UIKit标题:

#import <UIKit/UIKit.h>

答案 1 :(得分:1)

出于某种原因,在我的新项目中,我需要导入AppDelegate.h文件。这在我的旧项目中是不必要的(具有讽刺意味的是仍然有效),但它正处于这个新项目中。