首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSNotification消息

NSNotification消息
EN

Stack Overflow用户
提问于 2013-12-22 07:54:33
回答 1查看 83关注 0票数 1

FirstController.m

代码语言:javascript
复制
- (IBAction)done:(id)sender {

    NSNotification *msg = [NSNotification notificationWithName:@"addNevItem" object:[NSString stringWithFormat:@"%i",1]];
[[NSNotificationCenter defaultCenter] postNotification:msg];

}

TwoController.m

代码语言:javascript
复制
- (void)viewDidLoad
{
    [[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(addNevItem:)
                                             name:@"addNevItem"
                                           object:nil];
}

-(void)addNevItem:(NSNotification *)notification {

    NSLog(@"dd");

}

如果只执行一次操作,我会在控制台中看到一条消息。如果该操作执行了两次,那么在控制台中我还会看到另外两次。如果该操作执行了三次,那么在控制台中我还会看到另外三次。为什么会发生这种情况?我在程序的其他部分使用相同的代码,总是只有一条消息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-22 08:48:04

您每次执行操作时都会发布一个通知,所以很自然地,您就会收到同样多的通知。

您已经忘记(或未显示;)调用removeObserver,以便通知可以“堆积”(每个活着的VC都得到通知)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20727399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档