gpt4 book ai didi

ios - 类 myClass 的实例 0xa9923e0 已被释放,而键值观察者仍向其注册

转载 作者:行者123 更新时间:2023-11-29 02:44:30 24 4
gpt4 key购买 nike

我有一个使用观察者的类(class)。代码在awakeFromNib上添加

[self.contactSearchView addObserver:self forKeyPath:@"selectedContactUUID" options:0 context:nil];
self.contactSearchView.contactSelected = self.attendeeSelected;

关于释放执行了以下代码:

[self.contactSearchView removeObserver:self forKeyPath:@"selectedContactUUID"];
[[NSNotificationCenter defaultCenter] removeObserver:self];

但是,如果我多次关闭一个打开的特定 View ,最终我会生成以下异常并且应用程序崩溃。

类 MyClass 的实例 0xa9923e0 已被释放,而键值观察者仍向其注册。观察信息被泄露,甚至可能被错误地附加到其他物体上。在 NSKVODeallocateBreak 上设置断点以在调试器中停止于此。这是当前的观察信息:

不久之后,应用程序崩溃了,我不确定如何继续。

最佳答案

如果 self 将自己添加为另一个对象的观察者,则它必须将自己作为观察者移除。最迟,您可以在 self 的 dealloc 方法中执行此操作。

关于ios - 类 myClass 的实例 0xa9923e0 已被释放,而键值观察者仍向其注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25311474/

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