我有一个带有详细标签的表格视图。此标签由我在connectionDidFinishLoading函数中从JSON调用填充的实体填充。问题是cellFromRowAtIndexPath函数在connectionDidFinishLoading函数之前触发,所以在我下拉重绘页面的屏幕之前,我没有看到表视图中的值。我已尝试在这两个函数的末尾刷新表视图,但这看起来不起作用。有人可以告诉我为什么会发生这种情况以及如何解决它。
答案 0 :(得分:1)
您必须在connectionDidFinishLoading结束时重新加载表数据。 两种方式:
第一个:
[tableView reloadData];
第二个:
NSArray* rows = [tableView indexPathsForVisibleRows];
[tableView beginUpdates];
[tableView reloadRowsAtIndexPaths:rows withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];
答案 1 :(得分:1)
你在主线程中调用reloadData
吗? connectionDidFinishLoading
听起来像是在后台线程中运行。
答案 2 :(得分:0)
填充后,请在tableView上调用reloadData
。
答案 3 :(得分:0)
这应该这样做。必须从主线程
执行所有UI更新和操作dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});