gpt4 book ai didi

c - iOS:将对象添加为属性监听器时,是否必须在释放对象之前将监听器设置为 "unregister"?

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:03 52 4
gpt4 key购买 nike

当我将我的对象注册为属性监听器时。在释放对象之前,我是否有必要执行任何类型的“取消监听”。

最佳答案

你不应该继续观察你没有保留的对象(这适用于 KVO、委托(delegate)、通知和任何其他监听器模式)。这是危险:

  • 您观察一个对象(“观察到”)并记住它。
  • 其他一些对象也保留“观察到”
  • 你发布“观察到”
  • 你解除分配
  • “观察到”更改属性并通知您
  • 程序崩溃

虽然您可能认为有几种模式会使上述情况变得不可能,但它们都比在您释放观察到的对象时取消注册自己要脆弱得多,尤其是在您的 dealloc 中。

关于c - iOS:将对象添加为属性监听器时,是否必须在释放对象之前将监听器设置为 "unregister"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7810631/

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