更新 Xcode 和 Swift 5 后,此代码不起作用。谁能告诉我如何修复它?
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
if let url = NSURL(string: (mindata["img"] as? String)!), data = NSData(contentsOfURL: url)
{
dispatch_async(dispatch_get_main_queue(), {
cell.img.image = UIImage(data: data)
})
}
})
最佳答案
看起来您正在尝试使用异步调度队列将图像渲染到单元格的 ImageView 中,对吧?如果我说的是正确的,你可以试试这个代码吗?
if let url = URL(string: mindata["img"]) {
do {
let data = try Data(contentsOfURL: url)
if data == nil {
DispatchQueue.main.async {
cell.img.image = UIImage(data: data)
}
} else {
print("Data is Nil")
}
} catch {
//error from Data(contentsOfUrl to catch
}
} else {
// the URL was bad!
}
引用:https://www.hackingwithswift.com/example-code/strings/how-to-load-a-string-from-a-website-url
关于swift - 如何解决 Swift 5 中的 DispatchQueue 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55733262/