OGeek|极客世界-中国程序员成长平台

标题: IOS,带有观察者的自定义表格 View 单元,如何分离观察者 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 11:43
标题: IOS,带有观察者的自定义表格 View 单元,如何分离观察者

所以我们有了这个带有它自己的类的表格 View 自定义单元格。在类里面,我们正在使用 Key Value Pair Observers。是的,我们有理由这样做......

无论如何,在某些时候正在变得......

An instance 0x7680410 of class CustomCellBase was deallocated while key value observers
were still registered with it. Observation info was leaked, and may even become mistakenly
attached to some other object.

这当然是因为细胞被“重用”了。

清除这些的最佳方法是什么? 有办法吗? 是不是我们不能在自定义表格单元格中使用观察者?



Best Answer-推荐答案


当单元格从 View 中移除时,您需要停止观察它。

- (void)tableViewUITableView *)tableView didEndDisplayingCellUITableViewCell *)cell forRowAtIndexPathNSIndexPath *)indexPath
{
    [[NSNotificationCenter defaultCenter] removeObserver:cell];
}

否则 NSNotificationCenter 将尝试在已删除的单元格上触发选择器,从而导致错误。当然,当单元格出现时,您需要重新注册。

关于IOS,带有观察者的自定义表格 View 单元,如何分离观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17069192/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4