是否可以在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 Dictionary中传递其名称和其他一些参数。
我想要这个的原因是因为我有运行时生成的事件。它们具有相同的主体,但仅在保存目标方面有所不同,具体取决于_data#。我希望每个下载都在同一个地方处理。
问题是,如果我使用它,则不会调用通知。
答案 0 :(得分:5)
您发布的代码适用于多个通知名称。您可以在回调中区分两者:
- (void)Finish:(NSNotification *)notification {
if ([notification.name isEqualToString:@"FinishDownload_data1"]) {
...
}
else {
...
}
}
没有理由不通知通知。你确定你实现了回调吗?