Библиотека Kingfisher удаляет изображения из кэша

#swift #caching #kingfisher

#swift #кэширование #kingfisher

Вопрос:

В настоящее время я загружаю изображения из библиотеки Swift Kingfisher как таковой :

    if imageURL != nil {
        let imageConvertedUrl = URL(string: imageURL!)

        photo.kf.setImage(with: imageConvertedUrl, options: [.diskCacheExpiration(.days(3)), .memoryCacheExpiration(.days(3))]) { result in
            // `result` is either a `.success(RetrieveImageResult)` or a `.failure(KingfisherError)`
            switch result {
            case .success(let value):
                self.spinnerView.isHidden = true
                print(value.cacheType)

            case .failure(let error):
                print(error) // The error happens
                self.spinnerView.isHidden = false
            }
        }
    }
  

Я могу отключить Интернет, перезапустить приложение и загрузить изображение из кэша без проблем. Однако, через несколько минут, если я снова открою изображение без Интернета, оно не загрузится, и я столкнусь с сообщением об ошибке:

 Internet connection appears to be offline., NSErrorFailingURLStringKey=
  

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

Комментарии:

1. Возможно ли, что это имеет какое-либо отношение к изображениям, хранящимся на диске? Решило бы проблему добавление ImageCache.default.memoryStorage.config.totalCostLimit = 1 ?

2. Я попытался поместить изображения не в ОЗУ, и проблема сохраняется. После отключения Интернета изображения будут загружаться только некоторое время, пока, в конце концов, я снова не открою приложение, и они не будут загружаться из кэша.