TableViewCell重用导致找不到方法

108 阅读1分钟

TableViewCell的重用机制经常会导致很多问题: 因为Cell的重用导致内容错乱,控件重复创建等等..(目前就想到了这两个) 不过今天我又遇到了个问题...

就是我在一个屏幕上加载了两个不同的cell,简称cellB,cellB是在最下面加载的,我加载了10个cellB,但是屏幕显示了5个cellB,我向上滑动的时候,突然崩溃,报告说是找不到cellB的block属性,我很纳闷,这搜索我都不知道搜索什么关键词. 漫无目的的搜索,这时我看到了cell的重用! 我这时想到,原来我创建cellB类的时候,直接copy了cellA的代码,导致了cellB里面的重用ID和cellA的重用ID一致,这样向上拖动tableView的时候,cellB直接取出来cellA的对象,所以,在cellB的指针,给cellA对象赋值block,当然会报找不到block变量的错误咯! 下次要记住不同的cell不能用相同的ID,我相信你们都知道,我不过是一时失误了哈哈