-3

以下のコードの実行中に、次のエラーが発生しました:「オプション値のラップ解除中に予期せず nil が見つかりました」。コードは次のとおりです。

func convertBase64StringToImage (imageBase64String:String) -> UIImage {
        let imageData = Data.init(base64Encoded: imageString, options: .init(rawValue: 0))
        let image = UIImage(data: imageData)
        return image!
    }

それで、私が使用した問題を克服するためにguard let image data、何を返す必要がありますか? 関数はUIimage出力を期待しているため、returnを使用して空のままにすることはできません。この場合、nilエラーをラップするために渡す「デフォルト」値を本当に混乱させました。

4

1 に答える 1

2

間違った空の画像を返さないでください。何らかの方法で、変換が失敗したことを発信者に通知する必要があります。基本的に Optional を返す (nil失敗を意味する) か、エラーをスローする2 つの選択肢があります。

func convertBase64StringToImage (imageBase64String:String) -> UIImage?

また

func convertBase64StringToImage (imageBase64String:String) throws -> UIImage

いずれにせよ、発信者は問題があったことを明確に認識しており、対処するのは発信者次第です。

于 2021-11-01T13:08:52.393 に答える