我有一个简单的应用程序,当用户在 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/