Xcode UIView.init(frame:) must be used from main thread only

前端 未结 3 1917
时光取名叫无心
时光取名叫无心 2020-12-28 13:31

I\'m trying to render some views in background thread to not affect the main thread. That was never a problem before Xcode 9.

DispatchQueue.global(qos: .back         


        
3条回答
  •  长情又很酷
    2020-12-28 13:57

    You can use this function

    func downloadImage(urlstr: String, imageView: UIImageView) {
        let url = URL(string: urlstr)!
        let task = URLSession.shared.dataTask(with: url) { data, _, _ in
            guard let data = data else { return }
            DispatchQueue.main.async { // Make sure you're on the main thread here
                imageview.image = UIImage(data: data)
            }
        }
        task.resume()
    }
    

    How to use this function?

    downloadImage(urlstr: "imageUrl", imageView: self.myImageView)
    

提交回复
热议问题