可可 – NSNotificationCenter为“观察者”对象提供什么类型的参考?

可可 – NSNotificationCenter为“观察者”对象提供什么类型的参考?,第1张

概述任何人可以澄清/阐明相关的情况 – [NSNotificationCenter addObserver:selector:name:object:]? >“观察者”和“对象”参数的通知中心保留哪些类型的引用? >从通知中心清除观察员的最佳做法是什么? >多线程应用程序有什么特别的关注点,特别是对于’object’参数呢? > GC和非GC环境中此方法的行为有什么区别? >在这种方法的行为中,移动和 任何人可以澄清/阐明相关的情况 – [NSNotificationCenter addobserver:selector:name:object:]?

>“观察者”和“对象”参数的通知中心保留哪些类型的引用?
>从通知中心清除观察员的最佳做法是什么?
>多线程应用程序有什么特别的关注点,特别是对于’object’参数呢?
> GC和非GC环境中此方法的行为有什么区别?
>在这种方法的行为中,移动和桌面环境之间是否有明显的差异(从客户角度看)?

此外,对于覆盖这一点的现有文章的任何指针都将不胜感激。我有谷歌,但很惊讶地发现这些问题的深入讨论(虽然也许我没有使用正确的魔术关键词)。

解决方法

what types of references are kept by
the notification center of the
‘observer’ and ‘object’ arguments?

我相信一个薄弱的参考,虽然这只是从记忆(不是双关语)。

what are the best practices for
removing observers from the
notification center?

发布之前,请务必从通知中心删除注册的对象。如果对象的dealloc方法设置了注册本身,或者如果另一个对象正在管理通知订阅,则释放该对象的dealloc方法。记住这一点,以上并不重要。

what are the special concerns for
multi-threaded applications,
especially WRT the ‘object’ argument?

NSNotificationCenter在线程上工作正常,但是如果从后台线程发送通知,则对象将在同一线程上接收到该通知。由于这种行为,如果您正在更新UI或执行任何其他不是线程安全的 *** 作(或者从主线程上的其他方法调度通知),则应该使用其他方法。

what are the differences in behavior
of this method in GC and non-GC
environments?

我不记得你需要担心的任何事情,虽然我还没有使用GC。

are the any significant differences
(from a clIEnt perspective) between
mobile and desktop environments in
this method’s behavior?

不是我听说过的,没有。当您注册对象时,您可以选择注册所有通知或仅注册某个对象的通知。如果您大量使用通知,后者可能会更快一些,但总是要确定。

Also,any pointers to existing
articles which cover this would be
greatly appreciated. I Googled,but
was surprised to find little in-depth
discussion of these issues (although
maybe i dIDn’t use the right magic
keywords).

我认为这更是因为NSNotificationCenter一般来说很容易使用。如果你担心某些情况,不要害怕写一个快速的测试应用程序!

总结

以上是内存溢出为你收集整理的可可 – NSNotificationCenter为“观察者”对象提供什么类型的参考?全部内容,希望文章能够帮你解决可可 – NSNotificationCenter为“观察者”对象提供什么类型的参考?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1037837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存