Не удается преобразовать значение типа 'NSData?' ввести «Данные» в принуждении - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь преобразовать строку 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: ', ожидается 'Карта:')

...