gpt4 book ai didi

ios - 如何在下载图像之前运行事件指示器?

转载 作者:搜寻专家 更新时间:2023-11-01 06:17:00 25 4
gpt4 key购买 nike

在图片下载之前,我想启动事件指示器。

这是我使用url的图片下载功能

extension UIImageView {

func downloadImage(from url : String){

let urlRequest = URLRequest(url: URL(string: url)!)
let task = URLSession.shared.dataTask(with: urlRequest){(data,response,error)in

if error != nil {

print("error...")

}

DispatchQueue.main.async {
self.image = UIImage(data:data!)
}
}

task.resume()
}

我的问题是我该怎么做? (抱歉我的英语不好)

最佳答案

您可以在您的方法中传递一个闭包,该闭包将在下载图片后执行

extension UIImageView {

func downloadImage(from url : String, completion: ((_ errorMessage: String?) -> Void)?){

let urlRequest = URLRequest(url: URL(string: url)!)
let task = URLSession.shared.dataTask(with: urlRequest){ (data,response,error) in

if error != nil {
completion?("error...")
}

DispatchQueue.main.async {
self.image = UIImage(data:data!)
completion?(nil)
}
}

task.resume()
}
}

在你的 ViewController 中

activityIndicator.startAnimating()
imageView.downloadImage(from: "...") { (err) in
if err != nil {
// error handler
}
self.activityIndicator.stopAnimating()
}

关于ios - 如何在下载图像之前运行事件指示器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com