报错如图
使用僵尸断点调试之后报错
-[NSKeyValueObservance retain]: message sent to deallocated instance 0x600001f16010
后来发现是vc 中没有移除监听
然而父类中是有移除监听的
但是从结果来看并没有起作用
还是需要在子类 移除监听
添加这一段代码之后就好了
- (void)dealloc
{
[self removeObserver:self forKeyPath:@"self.tableView.contentOffset"];
}
父类的dealloc 中是有进行监听的移除的,
但是父类的移除并不能代替自类,监听的移除 不能依靠父类,
自类必须亲自移除,因为dealloc 并没有 一般方法的继承关系