我有一个简单的应用程序,当用户键入时,它会下载 XML 格式的搜索结果UISearchBar
。下载+解析是线程化的,一旦完成就会触发NSNotification
告诉带有表视图的 ViewController[tableView reloadData];
以下是接收结果后触发的通知的代码:
- (void)receivedResults:(id)notification {
results = [notification object];
DLog(@"Received %i results",[results count]);
[[self tableView] reloadData];
}
我得到日志输出“收到 4 个结果”,但表视图不会重新加载数据,直到我滚动/拖动它几个像素。我正在使用内置的UITableViewCellStyleSubtitle
单元格样式,我不会更改高度或对表格视图进行任何奇特的操作。
我究竟做错了什么?
我能够让同样的事情发挥作用。但问题是需要在主线程上调用重新加载数据。
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
我认为这比 PerformSelectorOnMainThread 选项更实用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)