我无法让viewController接收来自NSNotificationCenter的通知。我哪里错了?
在我的viewController中,我定义了:
- (id)init {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(receiveEvent:)
name:UIApplicationWillResignActiveNotification
object:nil];
return self;
}
- (void)receiveEvent:(NSNotification *)notification {
counter = counter + 1;
NSString *string = [NSString stringWithFormat:@"%d", counter];
vocabword.text = string;
}
但是文字没有更新:(
答案 0 :(得分:1)
您发布的代码中没有任何内容显然是错误的。这可能是其他一些问题。你收到日志消息了吗?你确定你的班级正在创建吗?你真的在应用程序上辞职吗?
答案 1 :(得分:1)
您的init方法是否被调用? (而且,你为什么不在那里调用[super init]?)
根据构造viewController的方式,可能不会调用init方法本身。相反,可以使用anther初始化程序,例如initWithCoder:如果从xib加载。
通常我会在viewDidLoad中注册通知并在viewDidUnload中注销。如果您的视图由于某种原因(例如内存压力过大而被卸载),您是否需要接收通知?