在发生异步更新时更新 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 - 请告知!的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 的 UITableViewCell 中更新 UIButton 图像时发生冲突