0

我目前正在从 CoreData 检索我的 UITableViewCell 缩略图。它是最大 2k 的 png。

它实际上工作正常,用户没有注意到任何缓慢,但我想改进机制以避免过多的 CoreData 请求。

事实上,在需要时会加载单元格,这很好,但关键是始终对传递给显示的每个单元格发出对 CoreData 的请求。一种可能的解决方案是仅在表格视图停止滚动时才加载缩略图,但使用此解决方案,单元格会显示为公共共享图像,因为我已经实现了实际重置单元格的 prepareForReuse。

那么,有没有一种简单的方法来缓存 CoreData 图像(我想在内存中)并检索它?

我的Objective-c知识还是有限的,所以我能想到的最快的解决方案是NSIndexPath.row->UIImage字典(我的表没有section),但不知道能不能实现其他简单优雅的解决方案。

4

1 回答 1

0

该解决方案对我来说似乎非常简单和优雅。由于各种原因,我只能指出您要注意使用 NSCache 而不是字典。自动删除就是其中之一,您还可以设置不同的删除策略、限制等等(来自不同线程且没有锁定的访问似乎不适合您的情况)。因此,这可能会为您节省那几行代码。

于 2012-11-27T17:05:14.467 回答