UITableview 第一次不显示内容

Posted

技术标签:

【中文标题】UITableview 第一次不显示内容【英文标题】:UITableview not showing content first time 【发布时间】:2018-08-21 07:18:33 【问题描述】:

我面临一个在table view 中显示数据的问题。当我向下滚动并返回顶部时,它工作正常。我也在主队列中重新加载了表,但它对我不起作用。我已经参考了以下链接,但没有得到任何解决方案。 showing-first-time-only-when-scrolling-a-bit Table view cells showing actual data only after scrolling once

我还重新加载了表 viewdidapear 以及从 API 获取数据时。

  DispatchQueue.main.async 
                        self.tblDashboard.refreshControl?.endRefreshing()
                        self.tblDashboard.reloadData()
  

理解请看附件视频(click here for video),代码文件here。

【问题讨论】:

viewDidAppear 中您是否已经有表的数据,或者您正在等待异步请求来获取它们?您发布的代码在哪里? 第一次滚动时是否触发 cellforRow ?可能的错误: 1. time 重新加载显示活动指示器同时重新加载。 2. 有效数组 3. 值未分配给行实例。 展示你的tableView的完整代码,展示你是如何获取数据的 在cellforrowatindexpath中下载图片后尝试添加cell setneedlayout 好的,我会展示我的代码。 【参考方案1】:

奇怪!!

 if let aTempArr = result["songs"] as? [[String : Any]] 
       //// parsing code here ......

      self.tblDashboard.reloadData() ///<---
 
  DispatchQueue.main.async 
      self.tblDashboard.refreshControl?.endRefreshing()
      self.tblDashboard.reloadData()
 

另外,我将单元格方法的代码移动到 Tableview 控制器中的cellForRowAt indexPath 中。

【讨论】:

以上是关于UITableview 第一次不显示内容的主要内容,如果未能解决你的问题,请参考以下文章

编辑模式 UITableView,不能阻止内容视图向右移动

数据未显示在 UITableView 的自定义单元格中

UITableView 和单元格重用

iOS UITableView在过滤时滚动插入

UITableView 单元格内容未正确显示

在 UITableView 单元格中定位 UIImageViews