gpt4 book ai didi

iphone - 如何在加载 View 后在运行时更新 UITableView

转载 作者:可可西里 更新时间:2023-11-01 03:27:31 26 4
gpt4 key购买 nike

我已经阅读了几篇关于 UITableView 的文章,包括 official doc还有一些关于SO。但是我的情况好像不太一样。
我想在每次加载 View 时更新表。而且我必须使用 HTTP 请求获取数据。
我现在得到的是:

  1. 进入表格 View 时,我应该使用非同步的HTTP请求来更新数据。因为不想让主线程等待。这样做的一个地方是在 tableView:cellForRowAtIndexPath: 方法中。所以我返回 0 因为一开始没有数据存在。
  2. 当我收到 HTTP 响应时,我使用 beginUpdates endUpdates insertRowsAtIndexPaths:withRowAnimation:
  3. 更新主线程上的行
  4. 而且我必须同时更新“数据源”,但该怎么做?
    还是我应该创建一个守护线程并每隔一段时间更新一次数据?这样当加载 TableView 时数据就准备好了。

最佳答案

你会这样做:

  • 有一个 bool 值或一些变量,您可以在其中可靠地检测您是否拥有所有数据。
  • viewWillAppear 中,重置所有内容。开始加载您的数据。
  • 如果您还没有数据,则只显示一个单元格的一个部分(一个占位符单元格,显示“正在加载...”并显示一个微调器,例如)。
  • 数据完全加载后,您可以设置 bool 或其他内容。
  • 调用[self.tableView reloadData];

在所有的 UITableViewDataSource 方法中,您都需要检查是否已经获得了数据。如果不是,则返回占位符数据。

关于iphone - 如何在加载 View 后在运行时更新 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com