IOS,具有观察者的自定义表格查看单元格,如何分离观察者

时间:2013-06-12 15:18:34

标签: ios uitableview observers

所以我们有这个Table View Custom Cell和它自己的类。在课堂上我们正在玩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.

这当然是由于细胞被“重复使用”。

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

1 个答案:

答案 0 :(得分:1)

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

- (void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    [[NSNotificationCenter defaultCenter] removeObserver:cell];
}

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