gpt4 book ai didi

iphone - 有人可以解释推送通知代码中的对象部分吗?

转载 作者:行者123 更新时间:2023-11-28 23:10:45 24 4
gpt4 key购买 nike

我遇到了一段注册通知的代码:

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

然后触发它:

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

为什么一个对象设置为 nil 而另一个对象设置为 self?那有什么作用?

最佳答案

首先考虑第二种情况,当您发布通知时,您指明哪个对象是该通知的发送者。通常是“自己”,但您可以代表其他对象发布通知。

另一方面,当您注册观察通知时,您可以指定您只想观察特定对象发布的通知。所以你可以说“我想观察‘酷新数据’通知,但只有这个特定对象发布它。如果其他对象说有‘酷新数据’,我不会有兴趣。”

如果您在注册观察者时将 nil 作为“对象”参数传递,那么您是在说您不关心谁发布了此通知,您希望您的选择器(或 block )为任何发送者触发。因此,如果任何人发布“很酷的新数据”,我想了解一下。

顺便说一句,这些不是“推送通知”。这是一个不同的功能/API。

关于iphone - 有人可以解释推送通知代码中的对象部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8321900/

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