在我看的时候如何重新加载UITableView

Gen*_*ich 30 iphone reload uitableview

当我将UITableView作为可见视图控制器的一部分时,如何重新加载它以便我正在查看的数据会更改为新数据.在我滚动它之前,只是调用reload似乎不会刷新数据.

los*_*sit 35

调用reloadData方法后,调用该方法会刷新数据.它不等待表格滚动.在调用之前,请确保更改数据源(数组或字典或保存值的位置)reloadData.

  • 似乎不适用于自定义表格视图单元格.在滚动表视图之前,数据不会更改.也许我的自定义表格视图单元格方法中有一个错误. (7认同)
  • 如果您使用的是笔尖文件来设计你的观点,不要忘记你调用reloadData表中的代码连接到表中你的笔尖.它很容易发生,因为您还需要连接委托和数据源. (2认同)

xmr*_*xmr 33

你是否刷新了主线程的数据?如果是这样,您需要使用以下方法调用reloadData方法:

- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait

所以对于tableView,它将是:

[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];


Gan*_*ham 20

只需2013年更新,您也应该能够重新加载数据,只要您使用

dispatch_async(dispatch_get_main_queue(), ^{
    [self.tableView reloadData];
});
Run Code Online (Sandbox Code Playgroud)

GCD太棒了!