【发布时间】:2010-10-14 05:54:26
【问题描述】:
当我有一个 UITableView 作为可见视图控制器的一部分时,我如何重新加载它,以便我正在查看的数据更改为新数据。只是调用 reload 似乎不会刷新数据,直到我滚动它。
【问题讨论】:
标签: iphone uitableview reload
当我有一个 UITableView 作为可见视图控制器的一部分时,我如何重新加载它,以便我正在查看的数据更改为新数据。只是调用 reload 似乎不会刷新数据,直到我滚动它。
【问题讨论】:
标签: iphone uitableview reload
以下代码可帮助您在查看时重新加载表格:
[self.tableView reloadData];
【讨论】:
调用reloadData 方法会在调用该方法后立即刷新数据。它不会等待表格滚动。在调用 reloadData 之前,确保数据源(数组或字典或保存值的位置)已更改。
【讨论】:
self.tableView.reloadData()
只是2013年的更新,你应该也可以重新加载数据,只要你使用
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
GCD 太棒了!
【讨论】:
您是否正在从主线程刷新数据?如果是这样,则需要使用以下方法调用 reloadData 方法:
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait
所以对于 tableView 来说应该是:
[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
【讨论】: