我有一个非常大的'项目列表'(最多250个条目),这是不断变化的。该列表显示在UITableView中。
我有一个轮询线程,它将下载一些新条目并将它们插入到SQLite DB中。
当新条目到达时,我调用我的表视图数据源对象来更新其数据集,该数据集运行SQL查询并返回一个新的条目数组。
完成此操作后,我在表视图上调用-reloadData。发生这种情况时,在大约7个案例中,表格视图绘制为空白(不显示单元格,只显示表格的背景颜色),直到进行后续的-reloadData调用。触摸表格视图(滚动,选择单元格,任何会强制重绘的内容)都会重新出现。
表视图,它的IBOutlet指针及其当前显示的单元格在我看到空白绘图错误的时候都是有效的,所以我相信它们没有被释放。
我一直试图调试这几天了,它真的开始把我推到墙上。
对此的任何帮助都会非常棒,谢谢。
答案 0 :(得分:19)
如果你做[ myTable performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]
会有帮助吗?
如果您不从主线程处理GUI更新,则会出现您提到的问题。