zoukankan      html  css  js  c++  java
  • 多线程更新UITableView时容易导致的问题


    我请求同一个接口两次, 第一次是那缓存, 第二次是那网络数据
    在请求成功回调的主线程异步的, 先赋值数据源, 然后调用uitableview reloaddata的方法, 这时候问题来了

    reloaddata的时候会先调用numberOfRowsInSection
    然后再cellForRowAtIndexPath

    这时候就扑街了, 更新ui是主线程异步, 在tableview调用numberOfRowsInSection 的时候拿到的数据条数是2
    但是在调用cellForRowAtIndexPath数据源已经在第二此请求的回调中被改成1条, 接下来就奔溃了

    请求回调

  • 相关阅读:
    封装
    面向对象的思想
    Arrays工具类
    二分查找
    选择排序
    冒泡排序
    对象数组
    二维数组
    一维数组
    循环语句注意事项
  • 原文地址:https://www.cnblogs.com/apem/p/5461898.html
Copyright © 2011-2022 走看看