我目前正在从CoreData中检索我的UITableViewCell缩略图。它最大为2k。
它实际上工作正常,用户没有注意到任何缓慢,但我想改进机制,避免过多的CoreData请求。
事实上,在需要时加载了单元格,这很好,但重点是始终为传递给显示的每个单元格提供对CoreData的请求。一种可能的解决方案是仅在表视图停止滚动时加载缩略图,但是使用此解决方案,单元格显示为具有公共共享图像,因为我已实现了实际重置单元格的prepareForReuse。
那么,有没有一种简单的方法来缓存CoreData图像,我想在内存中检索它?
我的Objective-c知识仍然有限,所以我能想到的最快的解决方案是NSIndexPath.row-> UIImage字典(我的表没有章节),但我不知道其他简单而优雅的解决方案可以实施。
答案 0 :(得分:0)
解决方案对我来说似乎非常简单和优雅。由于各种原因,我只能将注意力集中在使用NSCache而不是字典上。自动删除就是其中之一,您还可以设置不同的删除策略,限制等等(来自不同线程的访问,没有锁定似乎不适合您的情况)。所以这可能只为你节省了几行代码。