簡體   English   中英

如果圖像實際上是從 url 下載的,我怎么知道在 swift 5 中?

[英]How do I know in swift 5 if the image was actually downloaded from an url?

我正在使用帶有滾動視圖的頁面控件,並希望將下載的圖像添加到滾動視圖中,直到提供的鏈接不再下載圖像。 現在,鏈接下載圖像,直到索引不大於 7,但循環仍在繼續。 顯然它沒有返回錯誤,當 url 盡管沒有要下載的圖像時仍然可以加載。 這是我在索引大於 7 的瀏覽器中手動粘貼 url 時得到的結果。

在此處輸入圖像描述

這是我使用的代碼。 我想知道是否有辦法測試是否下載了實際的圖像。

var test = 15

func setupScreens() {
        for index in 1..<test {
                // 1.
            frame.origin.x = scrollView.frame.size.width * CGFloat(index - 1)
            frame.size = scrollView.frame.size

                // 2.
            let imageView = UIImageView(frame: frame)


            let urlSession = URLSession(configuration: .default)
            let url = URL(string: "https://jarisstoriesphotographyphoto.files.wordpress.com/2020/06/menu\(index).png")!

            // Create Data Task

            let dataTask = urlSession.dataTask(with: url) { [weak self] (data, _, error) in
                if let error = error {
                    print(error)
                    self?.test = 0 // should end the loop
                }
                if let data = data {
                    DispatchQueue.main.async {
                        // Create Image and Update Image View
                        imageView.image = UIImage(data: data)
                        self?.scrollView.addSubview(imageView)
                    }
                }
            }
            // Start Data Task
            dataTask.resume()

        }

在代碼中設置圖像之前,您可以像這樣簡單地檢查:

DispatchQueue.main.async {
  if let image = UIImage(data: data) { //Image is available in the url
     imageView.image = image
     self?.scrollView.addSubview(imageView) 
  }else {
     print("Image not available in this url")
  }
}

繼續編碼............ :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM