每次加载单元格时,我都会制作一个表格视图,用于从网络上下载单元格的图像。
这证明是一个问题,因为当您向下滚动然后再向上滚动时,将重新加载单元格。
有没有办法停止卸载单元格,并控制视图出现时加载了多少单元格?
答案 0 :(得分:3)
我建议您不要试图阻止UITableView
重复使用会降低性能的单元格,而是使用NSCache
存储下载的图像。
NSCache
的工作方式与Dictionary
相同 - 具有键值对。然而,主要区别在于它包含各种自动删除策略,这些策略可确保它不会占用太多的系统内存。这是关于NSCache
:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/NSCache_Class/index.html
使用此方法:当您设置UITableViewCell
时,可以检查是否已为NSIndexPath
下载了图像。如果没有下载图像,则下载图像并在完成后将其添加到缓存中,否则您将使用缓存并从中获取图像。