您好我正在开发Iphone应用程序,其中为UIApplicationWillEnterForegroundNotification注册了一个通知观察者。现在我想从另一个视图控制器中删除那个。我的代码看起来像
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(applicationBecomeActive)
name:UIApplicationWillEnterForegroundNotification
object:nil];
我正在创建一种删除观察者的方法:
-(void) removeObserver
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
我从其他视图控制器调用此方法,但它无法正常工作。我想我必须存储观察员。但我不知道该怎么做。需要帮忙。谢谢。
答案 0 :(得分:0)
第二个视图控制器需要对第一个视图控制器实例的引用。我们假设它在一个属性中保留:
@property (nonatomic, strong) FirstViewControler *firstViewController;
然后你的代码删除第一个视图控制器作为观察者将如下所示:
- (void)removeObserver
{
[[NSNotificationCenter defaultCenter] removeObserver:self.firstViewController];
}
缺少的部分是:你必须在某个地方设置属性。在哪做这取决于你的代码。