iOS 怎么避免tableview刷新数据错乱

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 怎么避免tableview刷新数据错乱相关的知识,希望对你有一定的参考价值。

参考技术A

解决自定义Tableviewcell显示错乱问题

    要是要解决这个问题,就需要用到UITableviewCell的prepareForReuse方法

    cell被重用如何提前知道? 重写cell的prepareForReuse 官方头文件中有说明.当前已经被分配的cell如果被重用了(通常是滚动出屏幕外了),会调用cell的prepareForReuse通知cell.注意这里重写方法的时候,注意一定要调用父类方法[super prepareForReuse] .这个在使用cell作为网络访问的代理容器时尤其要注意,需要在这里通知取消掉前一次网络请求.不要再给这个cell发数据了.


    // if the cell is reusable (has a reuse identifier), this is called just before the cell is returned from the table view method dequeueReusableCellWithIdentifier:.  If you override, you MUST call super.

    - (void)prepareForReuse

    [super prepareForReuse];

    自定义UITableViewCell的方法有很多 发现一些人都会遇到自己定义的cell里面图片错乱的问题 这个问题往往是因为没有实现prepareForReuse这个方法导致的.

    UITableViewCell在向下滚动时复用, 得用的cell就是滑出去的那些, 而滑出去的cell里显示的信息就在这里出现了 解决的方法就是在UITableViewCell的子类里实现perpareForReuse方法, 把内容清空掉

iOS 杂笔-如何解决tableview显示错乱问题

解决自定义Tableviewcell显示错乱问题

  • 要是要解决这个问题,就需要用到UITableviewCell的prepareForReuse方法

  • cell被重用如何提前知道? 重写cell的prepareForReuse 官方头文件中有说明.当前已经被分配的cell如果被重用了(通常是滚动出屏幕外了),会调用cell的prepareForReuse通知cell.注意这里重写方法的时候,注意一定要调用父类方法[super prepareForReuse] .这个在使用cell作为网络访问的代理容器时尤其要注意,需要在这里通知取消掉前一次网络请求.不要再给这个cell发数据了.

    // if the cell is reusable (has a reuse identifier), this is called just before the cell is returned from the table view method dequeueReusableCellWithIdentifier:.  If you override, you MUST call super.
    
    - (void)prepareForReuse
    
    {
    
        [super prepareForReuse];
    
    }

自定义UITableViewCell的方法有很多 发现一些人都会遇到自己定义的cell里面图片错乱的问题 这个问题往往是因为没有实现prepareForReuse这个方法导致的.

UITableViewCell在向下滚动时复用, 得用的cell就是滑出去的那些, 而滑出去的cell里显示的信息就在这里出现了 解决的方法就是在UITableViewCell的子类里实现perpareForReuse方法, 把内容清空掉

以上是关于iOS 怎么避免tableview刷新数据错乱的主要内容,如果未能解决你的问题,请参考以下文章

iOS tableViewCell 在cell赋值网络加载照片位置偏移大小错乱,做一个类似qq列表的tableview

iOS开发之 cell重用后内容错乱

iOS 杂笔-如何解决tableview显示错乱问题

为啥ubuntu里面进入vi后键盘错乱

TableView刷新闪动问题 —— iOS 11

iOS 怎么让tableView 的section不刷新 只刷新cell部分