是否可以在 NSNotificationCenter 中将一种方法与不同的名称链接起来?
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(Finish:) name:@"FinishDownload_data1" object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(Finish:) name:@"FinishDownload_data2" object:nil];
...等等
在我的代码中,当我调用通知时,我会在 userInfo 字典中传递它的名称和一些其他参数。
我想要这个的原因是因为我有运行时生成的事件。它们具有相同的主体,但仅在保存目标方面有所不同,具体取决于_data#。我希望每次下载都在同一个地方处理。
问题是,如果我使用它,不会调用通知。
最佳答案
您发布的代码适用于多个通知名称。您可以在回调中区分两者:
- (void)Finish:(NSNotification *)notification {
if ([notification.name isEqualToString:@"FinishDownload_data1"]) {
...
}
else {
...
}
}
没有理由不调用通知。不过,你确定你实现了回调吗?
关于ios - NSNotificationCenter - 具有不同名称的相同观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25484952/