Swift 4: 帮助解码包含使用 base64 编码图像的 JSON

Swift 4: help decoding a JSON that contains an encoded image using base64

我是 Swift(和编程)新手,公平警告。

我正在开发一款用于跟踪寻宝游戏奖金的应用程序。我想使用 JSON 文件来包含所有奖励数据,包括示例图像。我看到了如何在程序外将图像编码为 base64,然后我可以将它作为字符串添加到我的 JSON 中。我不确定该怎么做?通过搜索我看到你会使用类似的东西:

class func convertBase64ToImage(imageString: String) -> UIImage {
    let imageData = Data(base64Encoded: imageString, options: Data.Base64DecodingOptions.ignoreUnknownCharacters)!
    return UIImage(data: imageData)!
}

但我不确定这是否会简单地显示所述图像,或者我是否需要保存它然后以某种方式调用它。目标是简单地查看图像(它被用于拍摄带有标语牌的照片的人参考)。

(我还没有在代码中实现这个,我还在研究如何去做)

您的代码运行良好。您可以很容易地在 Playground 中对其进行测试。我使用 https://www.base64-image.de 对一个小的 PNG 文件进行 Base64 编码,并生成一个字符串,我 运行 通过您的函数生成该字符串。效果很好。

为了回答您的直接问题,UIImage 只是一张图片,您可以按如下方式向用户显示:

创建一个视图控制器。向视图控制器添加一个 UIImageView 并使用合适的名称(例如,bonusImageView)为其连接一个插座。

在视图控制器中调用您的函数以将图像加载到图像视图中。

bonusImageView.image = convertBase64ToImage(imageString: imageString)

其中 imageString 是您从 JSON 获得的 Base64 编码字符串。

是否选择首先存储 imageString 取决于您。如果您只想从服务器检索它并按需显示它,则没有必要存储它。