如何使用uiprefetching委托使用AlamofireImage预取图像?

问题描述 投票:1回答:1

我正在尝试使用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()
                }

总而言之,我想在预取方法中预加载图像,以改善每次呈现单元格时的表格滚动,而不是下载它们。

swift uitableview alamofire prefetch
1个回答
0
投票

UIImageView.af_sharedImageDownloader.downloadImages(URLRequests:requests)

在显示集合视图单元格之前将其放在某处。下次将从缓存中获取图像。

© www.soinside.com 2019 - 2024. All rights reserved.