【问题标题】:UITableView Drawing Problems When ReloadData Is Called调用 ReloadData 时 UITableView 绘制问题
【发布时间】:2023-03-30 17:59:01
【问题描述】:

我有一个非常大的“项目”列表(最多 250 个条目),并且不断变化。该列表正在 UITableView 中显示。

我有一个轮询线程,它将下载一些新条目并将它们插入 SQLite DB。

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

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

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

这几天我一直在尝试调试它,但它真的开始让我陷入困境。

对此的任何帮助都会非常棒,谢谢。

【问题讨论】:

    标签: iphone objective-c cocoa-touch uitableview uikit


    【解决方案1】:

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

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

    【讨论】:

    • 老兄,你救了我的命。我正要从桥上跳下来什么的……谢谢!
    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 2010-12-17
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多