如何知道 UITableView 已完成将数据加载到单元格中? [复制]
Posted
技术标签:
【中文标题】如何知道 UITableView 已完成将数据加载到单元格中? [复制]【英文标题】:How to know UITableView has completed loading data into cells? [duplicate] 【发布时间】:2014-07-03 10:36:11 【问题描述】:我创建了一个简单的表视图,其中设置了 delegate 和 datasource。 我只想知道表格是否已经加载了单元格中的所有数据,以便我可以在此之后进行其他活动,例如遮罩和动画。
是的,数据正在填充来自网络服务的单元格。
【问题讨论】:
我猜不可能,如果您的表格在 viewDidLoad 中加载,那么在 viewWillAppear 或 viewDidAppear 中启动您的动画 在大多数情况下,加载是在主线程上完成的。因此,如果你有一个像[tableView reloadData]
这样的调用,当方法返回时,加载就完成了。
【参考方案1】:
我想你不知道,什么时候所有的表格单元都加载了数据。这也取决于连接性。你可以试试这两种可能——
1.. 您可以通过设置具有特定延迟的 NSTimer 来执行您的任务。在此之前,您可以旋转微调器。案例的问题是,如果你设置大的延迟值,用户使用你的应用程序会很烦人。
2.. 您可以使用自定义 Tableviewcells。有了这个,您可以使用延迟加载,这将帮助您找到特定单元格是否已加载其数据。
【讨论】:
【参考方案2】:流程中最慢的部分是从 Web 服务加载数据。使用完成处理程序处理所有 Web 服务调用。表视图重新加载速度非常快,从您收到来自 Web 服务调用的数据开始,您应该不会看到任何延迟。
如果您使用 Coredata 和 NSFetchedResultsController,那么您可以使用 controllerDidChangeContent 触发操作。
【讨论】:
以上是关于如何知道 UITableView 已完成将数据加载到单元格中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
当我的应用程序通过我的 UITabBar 完成启动时,如何将加载的数据传递给 UITableView?