我正在尝试使用AlamofireImage为我的tableView实现UITableViewDataSourcePrefetching委托。但是我该如何设置呢?
我已经添加了委托,并在我设置的viewDidLoad中:
self.tableView.prefetchDataSource = self
然后是相关方法:
func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) {
indexPaths.forEach {}
func tableView(_ tableView: UITableView, cancelPrefetchingForRowsAt indexPaths: [IndexPath]) {
indexPaths.forEach {}
在我的cellForRowAt indexPath方法中,我下载这样的图像:
let url = URL(string: car.fotoUrl)!
cell.imageCar.af_setImage(
withURL: url,
placeholderImage: placeholderImage,
imageTransition: .crossDissolve(0.2),
runImageTransitionIfCached: false,
completion: { response in
if response.result.isSuccess {
self.dismissLabel()
} else if response.error?._code == NSURLErrorNotConnectedToInternet{
self.showLabel()
}
总而言之,我想在预取方法中预加载图像,以改善每次呈现单元格时的表格滚动,而不是下载它们。
UIImageView.af_sharedImageDownloader.downloadImages(URLRequests:requests)
在显示集合视图单元格之前将其放在某处。下次将从缓存中获取图像。