UITableViewCell的复用逻辑变更

没有测试每个机型的打印,但是根据经验来看,大部分的cell 在复用时,都是这样的(使用iOS10.2 的手机):


理解中的复用

也就是说第0 个会复用第0个创建的,第n 个会复用第n 个创建的。

但是在iOS15.4 的手机上打印结果是这样的:


cell 复用打印.png

也就是说它并不会像我们理解的那样复用,而是以一种“看心情”的方式获取“cell复用池”中的cell

所以,基于上面的变动,如果你想在cell 内部做一些事情的时候,比如在cell 内部做长链接服务,一定要注意cell 的绑定数据是否变化了,因为即使tableView 不滑动,只在当前页面reloadData ,每次的cell 对象也是不一样的;比如操作cell 内数据时有弹窗,弹窗的同时伴随着reloadData,每次的cell 对象也是不一样的,cell 内部的数据也是会变化的。一定要注意这些情况。

你可能感兴趣的:(UITableViewCell的复用逻辑变更)