[英]How to get UIImage from JSON Data response?
我試圖以字節為單位獲取圖像並從中創建UIImage
,但我無法理解如何解析它。
我的代碼:
func getAvatar() {
NetworkManager.shared.getAvatar(methodPath: "www.xxxxxx.xxx", params: nil) { (data) in
guard let dataValue = data as? Data else {return}
DispatchQueue.main.async {
do {
let response = try JSONSerialization.jsonObject(with: dataValue, options: .mutableContainers)
print(response)
} catch {
print("Class - HomePageHelper, Method - getAvatar = \(error)")
}
}
}
}
在郵遞員中,我得到這樣的東西:
我做錯了什么?
此響應格式為Data
。
您可以在可選之后使用它從UIImage
創建實例
鏈接guard let dataValue = data as? Data else {return}
guard let dataValue = data as? Data else {return}
使用此dataValue
來制作這樣的UIImage
。
let img = UIImage(data: dataValue)
我想提供詳細的解決方案。
我已經使用這種方法從互聯網上下載數據對象。
public func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
URLSession.shared.dataTask(with: url, completionHandler: completion).resume()
}
這里實現了這段代碼,用於從互聯網上下載圖像。
if let urlPath = model?.iconUrl, let url = URL(string: urlPath) {
NetworkClass.sharedInstance.getData(from: url) { (data, response, error) in
guard let data = data, error == nil else { return }
DispatchQueue.main.async() {
self.imageView.image = UIImage(data: data)
}
}
}
您可以使用SDWebImage
imageView.sd_setImage(with: URL(string:urlStr), placeholderImage: UIImage(named: "placeholder.png"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.