是否可以限制 NSNotification 的目标?
我想将 NSNotification 发送到特定对象(发送给自己),而不让其他对象看到/响应它。
这可以在不编辑其他对象的情况下实现吗?
I want to send a NSNotification to a specific object (to self), without having other objects see / respond to it.
Is this possible without editing the other objects?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,如果您确实必须使用相同的通知名称,一种想法是将 self 指针放入 userInfo 中。然后在观察者方面,如果您没有看到自指针,那么您认为它是一般通知,而不是特定于任何特定观察者。
如果您确实看到一个 self 指针,您可以将它与您自己进行比较,以决定是否处理它。我不确定它是否满足您的“禁止编辑”约束,但它至少满足超类代码不需要知道所有可能的子类的要求。
Well, if you really must use the same notification name, one thought would be to put the self pointer into userInfo. Then on the observer side, if you don't see a self pointer then you assume it's a general notification, not specific to any particular observer.
If you do see a self pointer, you compare it to yourself to decide if to handle it. I'm not sure it satisfies your constraint of "no edits", but it does at least satisfy the requirement that the superclass code doesn't need to know of all the possible subclasses.