【发布时间】:2012-07-16 13:37:28
【问题描述】:
我有一个 UITableView,我在其中显示来自核心数据(人)的数据。滚动表格时,我从网络上(异步)获取该人的个人资料图像,并在完成后更新 Core Data 对象以及单元格的图像视图。
但是,我遇到了一个问题,因为每次我将图像保存到 Core Data 时都会触发 - (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {(一旦用户向下滚动,这最终会减慢应用程序的速度)。在controllerDidChangeContent: 中,我在表格视图上调用 reloadData,这当然是帧速率急剧下降的原因。
关于如何处理图像下载和适当更新单元格后如何处理将其保存到核心数据对象的任何建议?
谢谢。
【问题讨论】:
-
为什么需要
-(void)controllerDidChangeContent?如果你这样做,你不应该调用 reloadData ,因为你正在正确地延迟加载。据我了解,您正在插入核心数据,因此该表不需要更新,因为该表首先为核心数据提供了图像。 -
数据可能会在其他地方发生变化,所以如果数据发生变化,我想适当地更新表格。
标签: core-data uitableview