я могу загрузить изображение дважды, если использовать стручки для кэширования изображения и загрузки его асинхронно? - PullRequest
0 голосов
/ 21 мая 2018

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

У меня есть один downloadURL, и загруженный образ по этой ссылке будет использоваться для двух изображенийПосмотреть.для blurryImageView и для posterImageView.

blurryImageView будет использоваться в качестве фона, если в случае, если изображение от пользователя не находится в желаемом вертикальном горизонтальном отношении, как на картинке ниже

enter image description here

мой вопрос: если я скачаю по этой одной ссылке и буду использовать для просмотра двух изображений, действительно ли я скачаю его дважды или один раз?

вот упрощенный код, который я использую:

import Kingfisher

        @IBOutlet weak var posterImageView: ImageView!
         @IBOutlet weak var blurryImageView: ImageView!

        override func viewDidLoad() {
            super.viewDidLoad()

         guard let urlPoster = URL(string: imagePathString) else {return}
         blurryImageView.kf.setImage(with: urlPoster)
         posterImageView.kf.setImage(with: urlPoster)

        }

, как вы можете видеть в приведенном выше коде, изображение будет загружаться асинхронно, и когда срабатывает posterImageView.kf.setImage(with: urlPoster), изображение(Я полагаю) еще не закончил загрузку, когда с blurryImageView.kf.setImage(with: urlPoster).так что я беспокоюсь, что его скачают дважды, что неэффективно.Я хочу, чтобы он был загружен только один раз.что мне делать, если я хочу загрузить его только один раз

1 Ответ

0 голосов
/ 21 мая 2018

Не волнуйтесь, он не загрузится снова.Если вы читаете документы зимородка, это говорит о том, что после загрузки изображений они кэшируются.Так что в следующий раз, когда вы вызываете изображение с того URL, оно берется из кэша.

Вот строка из документа kingfisher

Kingfisher загрузит изображение с URL, отправьтеэто и кеш памяти и кеш диска, и отображать его в imageView.При последующем использовании того же кода изображение будет извлечено из кэша и немедленно показано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...