当我从JSON中的GET请求中检索图像的所有信息时,我尝试将我正在获取的字符串转换为图像。它来到我作为base64字符串,我转换为NSData然后我尝试将它放在imageView但我不断得到一个“意外发现nil,同时展开可选”错误。我将NSData打印到我的控制台,然后在我的imageView行中打开它(显示它不是nil)并得到
的输出d6ae5d4c be632efe 39fa8e9e f5cfc92c 7feb391c 16f7e7e9 eb5e7e2b 0fd0e6a8 51ba97dc 865c639e 39e9ed9e >)
它的时间更长,但这只是为了提出一个想法。
这是我的代码,我遇到了问题:
//Convert image here
let base64String = media[indexPath.row].image
let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))
print(decodedData)
cell.mediaImageView.image = UIImage(data: decodedData!)
答案 0 :(得分:1)
不要转换base64,直接转换你从响应中获得的图像中的数据。 希望这会有所帮助:)
答案 1 :(得分:0)
修正了它。火箭科学家我忘记添加一个占位符图像,如果进来的数据没有照片,并阻止单元格图像展开一个零值,这将导致我不断得到的错误。为将来遇到问题的人员更新了代码
//Convert image here
let base64String = media[indexPath.row].image
let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))
if decodedData == nil {
cell.mediaImageView.image = UIImage(named: "camera")
} else {
cell.mediaImageView.image = UIImage(data: decodedData!, scale: 0.9)
}