ios - [tableView 重新加载数据];在我滚动 tableView 之前不起作用

标签 ios uitableview reloaddata

我有一个简单的应用程序,当用户在 UISearchBar 中键入内容时,它会以 XML 格式下载搜索结果。下载+解析是线程化的,一旦完成,它会触发一个 NSNotification 以将 TableView 告知 ViewController [tableView reloadData];

这是接收结果后触发的通知的代码:

- (void)receivedResults:(id)notification {
    results = [notification object];
    DLog(@"Received %i results",[results count]);
    [[self tableView] reloadData];
}

我得到日志输出“收到 4 个结果”,但表格 View 不会重新加载数据,直到我将其滚动/拖动几个像素。我正在使用内置的 UITableViewCellStyleSubtitle 单元格样式,并且我没有更改高度或对表格 View 进行任何花哨的设置。

我做错了什么?

最佳答案

我能够让同样的东西工作。但问题是需要在主线程上调用重新加载数据。

dispatch_async(dispatch_get_main_queue(), ^{
    [self.tableView reloadData];
});

我认为这比 performSelectorOnMainThread 选项更实用

关于ios - [tableView 重新加载数据];在我滚动 tableView 之前不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4968424/

相关文章:

ios - 分组的 UITableView subview

ios - 找到信标,但 RSSI 为 0,准确度 -1 且接近度未知

ios - 从 SCNPhysicsBallSocketJoint 中移除弹性

ios - GestureRecognizer 仅适用于一个单元格

iPhone/iPad 表格 View 仅重新加载一行而不是整个表格

iphone - 从 NSObject 类调用 ViewController 方法

ios - 重新加载 TableView 的数据而不清除其选择状态

ios - 初始化程序后的 AKNode 连接不适用于 AKCompressor

ios - UITableView 仅在我滚动后填充

ios - 如何在 UITable 中实现 Instagram 评论的效果?