Образы загружены частично и хоть я убил и начал обратно. Также это возникает редко, поэтому невозможно решить точную проблему. Изображение не исправляется и остается таким из-за кеширования. Но нужно решение, чтобы это исправить. Ссылка на код и изображение прилагается.
extension UIImageView {
public func sd_setImageWithURLWithFade(url: URL!, placeholderImage placeholder: UIImage? = nil) {
self.sd_setImage(with: url, placeholderImage: placeholder, options: SDWebImageOptions.allowInvalidSSLCertificates)
{ (image, error, imageCacheType, imageUrl) in
if let downLoadedImage = image {
if imageCacheType == .none {
self.image = downLoadedImage
}
} else {
self.image = placeholder
}
}
}
}
Иногда случается, очень редкая проблема, но все же сохраняется
Проверьте размер изображения и попробуйте уменьшить его, чтобы ускорить загрузку, так как это может помешать сохранению половины загруженных изображений в целом.





Это происходит потому, что платформа SDImage хранит кэшированное изображение для определенного изображения. Итак, теперь, если из-за плохого подключения к Интернету изображение загружается частично, а позже вы пытаетесь загрузить изображение с того же URL-адреса, он проверит существующее изображение в кеше и покажет вам это изображение вместо нового изображения.
Таким образом, вы видите частично загруженное изображение даже после повторного запуска приложения. Если вы удалите это приложение и попытаетесь запустить его снова, и проблем с сетью не возникнет, оно загрузит полный образ, а затем покажет вам полностью загруженный образ.
So, can say: that's the limitations to SDImageView.
Привет, я понимаю, что проблема возникает из-за кеширования, но как ее исправить?
Вы можете попробовать это как вариант SDWebImageRefreshCached, он проверит и попытается загрузить изображение снова, если что-то не так во время последней загрузки или если изображение было изменено по тому же URL-адресу. Используйте эту опцию, если это не влияет на производительность.
Проблема в том, что проблема возникает очень редко, и я также не могу ее отследить. Итак, как мне проверить, исправлено ли оно или нет. Есть ли способ отследить или воспроизвести эту проблему?
да, вы можете очистить кеш и память в методе viewDidLoad во время тестирования. код для очистки: stackoverflow.com/questions/39881566/…
и как только изображение начнет загружаться, вы можете перевести iPhone в режим AirPlane, чтобы отключить Интернет. Кроме того, используйте мобильные данные, установив скорость сети на 2G в настройках iphone.
@Ishika Вы попробовали предложения и устранили свои проблемы?
Я все еще не могу воспроизвести проблему
это происходит в первый раз или каждый раз? может быть размер вашего изображения большой ..