Как я могу выполнить предварительную загрузку изображений с помощью AlamofireImage с помощью делегата uiprefetching? - PullRequest
1 голос
/ 01 апреля 2019

Я пытаюсь реализовать делегат UITableViewDataSourcePrefetching для моего tableView, используя AlamofireImage. Но как мне это настроить?

Я уже добавил делегата, и в моем 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()
                }

Подводя итог, я хочу предварительно загрузить изображения в методах предварительной выборки, чтобы улучшить прокрутку таблицы и не загружать их при каждом представлении ячейки.

1 Ответ

0 голосов
/ 01 апреля 2019

UIImageView.af_sharedImageDownloader.downloadImages (URLRequests: запросы)

Поместите его где-нибудь перед отображением ячейки представления коллекции.В следующий раз изображения будут взяты из кэша.

...