gpt4 book ai didi

iphone - Key Value 在被观察对象被释放时观察 removeObserver

转载 作者:可可西里 更新时间:2023-11-01 03:52:55 26 4
gpt4 key购买 nike

有各种与此主题相关的问题,但没有一个能回答我的问题。

我想在对象被释放时从对象中removeObserver。我正在使用 KVO,因为需要观察多个项目,而 NSNotification 在这种情况下会产生巨大的开销。

场景如下:

(多个)对象正在被各种其他对象观察。当 observer 被释放时,我可以将它作为观察者移除。但是当 observed 被释放时,我需要告诉所有 observers 将自己作为观察者移除。如何做到这一点?

最佳答案

Sailesh 如果对象(观察到的)被释放,那么该对象不能被改变或者它的值不能被改变所以如果你的观察者正在观察一个被释放的对象并且该被释放的对象永远不会发送任何类型的观察通知那么移除观察者有什么乐趣吗???
~~~~~~~~~~~~~~~~~~~~~编辑~~~~~~~~~~~~~~~~~~~~~~~~
嘿,我从 here 得到了一些东西.这个想法是你观察到一个额外的属性说 alive 并在 dealloc of observed as alive = NO; 中写入并且随着这个属性的改变,所有观察者都会得到通知,因此你可以移除所有观察者。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~

关于iphone - Key Value 在被观察对象被释放时观察 removeObserver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9076776/

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