Ios 如何在swift 3中将UIImage数组转换为base64数组?

Ios 如何在swift 3中将UIImage数组转换为base64数组?,ios,swift3,uiimage,base64,Ios,Swift3,Uiimage,Base64,我的代码中有一组图像是[UIImage],但我想将它们转换为base64-我不能我发现了类似的问题,但当我使用他们的答案时,我收到了致命的错误 for i in 0...tinyViewController.imageUpload.count - 1 { print(i) let imageData = UIImageJPEGRepresentation(tinyViewController.imageUpload[i] , 1) let

我的代码中有一组图像是[UIImage],但我想将它们转换为base64-我不能我发现了类似的问题,但当我使用他们的答案时,我收到了致命的错误

for i in  0...tinyViewController.imageUpload.count - 1 {
        print(i)


        let imageData = UIImageJPEGRepresentation(tinyViewController.imageUpload[i] , 1)

        let base64String = (imageData! as Data).base64EncodedString(options: NSData.Base64EncodingOptions(rawValue: 0))
        print(base64String)

}

尝试使用此函数将每个UIImage转换为base64字符串。我在我的项目中使用了它。它非常适合我

func base64(from image: UIImage) -> String? {
        let imageData = UIImagePNGRepresentation(image)
        if let imageString = imageData?.base64EncodedString(options: .endLineWithLineFeed) {
            return imageString
        }
        return nil
    }
因此,请这样做:

for i in  0...tinyViewController.imageUpload.count - 1 {
        print(i)

        print(base64(from: tinyViewController.imageUpload[i]))

}

您可以发布错误吗?致命错误:在展开可选值lldba时意外发现nil此方法将不会执行,因为我的图像位于for循环中的数组中,我应该在此方法中使用它们,但swift不允许我使用它?我更新了答案。插入我的函数并在编写时更改代码。我再次收到致命错误:在展开可选值lldbmay时意外发现nil。错误可能在代码的另一个位置?我的代码中没有强制展开。您编写的函数应该在哪里?循环前还是循环后还是循环内?