>“观察者”和“对象”参数的通知中心保留哪些类型的引用?
>从通知中心清除观察员的最佳做法是什么?
>多线程应用程序有什么特别的关注点,特别是对于’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为“观察者”对象提供什么类型的参考?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)