记录一个野指针崩溃 [NSKeyValueObservance retain]: message sent to deallocated instance.

报错如图请添加图片描述
使用僵尸断点调试之后报错

-[NSKeyValueObservance retain]: message sent to deallocated instance 0x600001f16010
后来发现是vc 中没有移除监听

然而父类中是有移除监听的

请添加图片描述
但是从结果来看并没有起作用

还是需要在子类 移除监听
请添加图片描述

添加这一段代码之后就好了

- (void)dealloc
{
    
    
    [self removeObserver:self forKeyPath:@"self.tableView.contentOffset"];
}

父类的dealloc 中是有进行监听的移除的,
但是父类的移除并不能代替自类,监听的移除 不能依靠父类,
自类必须亲自移除,因为dealloc 并没有 一般方法的继承关系

Guess you like

Origin blog.csdn.net/LIUXIAOXIAOBO/article/details/121497027