gpt4 book ai didi

iphone - NSNotificationCenter:我怎么知道是什么发布了通知?

转载 作者:行者123 更新时间:2023-11-28 20:44:38 25 4
gpt4 key购买 nike

我在 A 类中有一个名为 Test 的 NSNotification 观察器。观察者调用一个方法,checker:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checker:) name:@"Test" object:nil];

然后我在 B 类和 C 类中有两个帖子,都发给名为 Test 的观察者

[[NSNotificationCenter defaultCenter] postNotificationName:@"Test" object:self];

我希望能够知道哪个帖子被发送给观察者并增加一个计数器以在检查方法中可用,例如:

-(void)check {
if ([classB count] <= [classC count]) {
NSLog(@"boom");
}
}

我看到过使用用户信息来这样做的建议,但我不太确定如何;是在类 B/C 中实例化并作为 int 或字典等传递的计数器对象

非常感谢任何帮助谢谢

最佳答案

好吧,您需要在 A 类中设置计数器。您可以在 checker: function 中执行此操作

- (void)checker:(NSNotification *)notification
{
if ([notification.object isKindOfClass:[BClass class]]) {
bCounter++;
}
else if ([notification.object isKindOfClass:[CClass class]]) {
cCounter++;
}

if (bCounter < cCounter) {
NSLog(@"boom");
}
}

让我知道它是否适合您。

关于iphone - NSNotificationCenter:我怎么知道是什么发布了通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6916013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com