首页 > 解决方案 > 无法转换“NSData”类型的值?强制输入“数据”

问题描述

我试图将 base64 字符串转换为 UIImage

第一的。我解码字符串如下所示

let decodedData = NSData(base64Encoded: decodeIMG, options: NSData.Base64DecodingOptions(rawValue: 0))

然后我尝试将解码后的数据转换为 UIImage,如下所示:

let decodedIamge = UIImage(data: decodedData as Data)

但在那一行我收到以下错误:

无法转换“NSData”类型的值?强制输入“数据”

我已经尝试使用另一种方法通过使用看起来像这样的扩展来转换它

extension String {
//: ### Base64 encoding a string
    func base64Encoded() -> String? {
        if let data = self.data(using: .utf8) {
            return data.base64EncodedString()
        }
        return nil
    }

//: ### Base64 decoding a string
    func base64Decoded() -> String? {
        if let data = Data(base64Encoded: self) {
            return String(data: data, encoding: .utf8)
        }
        return nil
    }
}

并得到这个错误

调用中的参数标签不正确(具有 'base64Encoded:',预期为 'map:')

标签: iosswiftuiimagebase64

解决方案


推荐阅读