2009-06-24 64 views
5

我有一个相当大的'项目'列表(最多250个条目),它不断变化。该列表正在UITableView中显示。当调用ReloadData时UITableView绘图问题

我有一个轮询线程,将下载一些新的条目,并将它们插入到SQLite数据库。

当新条目到达时,我调用我的表视图数据源对象来更新其数据集,该数据集运行SQL查询并返回一个新的条目数组。

完成此操作后,我在表视图上调用-reloadData。发生这种情况时,在大约7种情况中,表视图绘制为空白(没有显示单元格,只有表格的背景颜色可见),直到执行后续的-reloadData调用。触摸表格视图(滚动,选择单元格,任何会强制重绘的内容)都会使其重新出现。

表视图,它的IBOutlet指针和它当前显示的单元格在我看到空白绘图错误时都是有效的,所以我相当确信它们没有被释放。

我一直在试图调试这几天,现在真的开始把我拉上墙。

任何帮助,这将是惊人的真棒,谢谢。

回答

19

如果你做[ myTable performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]会有帮助吗?

如果您不从主线程执行GUI更新,则可能会出现您提到的问题。

+1

伙计,你救了我的命。我正要跳下一座桥或什么...... 谢谢! – Jasarien 2009-06-24 10:43:01