1

我正在使用 kingfisher 库从网络获取图像并将它们显示在图像视图中。每 5 秒我得到一个新图像并显示它。我想获取图像,将它们保存在数组中然后显示它们,以免每次都从网络上获取图像。只需一次获取它们并将它们存储在一个数组中,然后从数组中读取它们。我现在的代码:

    var imagesURL = Array<String>() // contains the images urls
    var counter = 0
.
.

func fireTimer()  {
        timer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(setImagesInImageView), userInfo: nil, repeats: true)
    }

    @objc func setImagesInImageView()  {
              let url = URL(string: self.imagesURL[counter] )
             self.imageDisplayer.kf.setImage(with: url)
            counter = counter + 1
        }

有什么帮助吗?

4

1 回答 1

0

Kingfisher 将所有加载的图像保存到本地缓存。您不需要将图像存储在数组中。只需将图像的 URL 存储在数组中,Kingfisher 就会自动加载缓存的图像。

于 2018-02-10T09:18:55.310 回答