在发生异步更新时更新 TableView - 请告知!

Posted

技术标签:

【中文标题】在发生异步更新时更新 TableView - 请告知!【英文标题】:Updating a TableView while an asyncronous update is occurring -- advise please! 【发布时间】:2011-02-11 18:20:12 【问题描述】:

提前感谢您的帮助。

背景:我有两个通过核心数据填充的 TableView(NSArray 数据源)。这很好用(我熟悉 coredata),但是当应用程序首次加载时,它会启动所有数据的异步更新(并在新数据完成下载时删除数据)。我没有使用 NSFetchedResultsController。

问题:这意味着如果您进入应用程序并在某个时间点快速单击“杂货类别列表”,它可能不会在更新时显示数据。

导航视图: (杂货类别列表)>(类别项目列表)>(项目详细信息)

对不起,这是一个可怕的描述,这是我第一个异步处理数据并更新 UITableViews 的项目。我只是在寻找建议或设计模式建议来阅读。

感谢您的耐心等待!

【问题讨论】:

【参考方案1】:

在保留更新的数据之前,我不会发布任何现有数据或刷新表格。所以:

    启动应用程序 将旧数据提供给表并开始异步请求新数据 获取数据,释放旧数据,保留新数据并重新加载表

.

[_dataArray release];
_dataArray = [newData retain];
[_tableViewWithDataArray reloadData];

【讨论】:

以上是关于在发生异步更新时更新 TableView - 请告知!的主要内容,如果未能解决你的问题,请参考以下文章

发生单元格内容交互时更新 TableView 单元格高度

向关系中插入新数据时如何更新tableView

在 iOS 的 UITableViewCell 中更新 UIButton 图像时发生冲突

加载 tableView 后如何更新 UITableViewCell 高度

滚动时更新 UITableViewCell

从更新面板异步回发后保持滚动位置