Swift 中 UIImage 到 String 和 String 到 UIImage

Naz*_*zar 4 arrays base64 nsuserdefaults uiimage swift

我将用户和照片用户的名称添加到UserDefaults数组,然后将此数组发送到我的站点 + 将此数组插入另一个ViewController

保存代码:

 let imageSaveData = UIImageJPEGRepresentation(self.profileUserPhotoImage.image!, 1.0) as NSData?    
 let base64String = imageSaveData?.base64EncodedString()
    let userNameAdnPhoto = ["name": self.userNameLabel.text, "image": base64String] as? [String: String]
    var userArrayToUDef = UserDefaults.standard.array(forKey: "userInfo") as? [[String: String]]
Run Code Online (Sandbox Code Playgroud)

在另一个ViewController我不知道如何从UserDefaults.standard.array(forKey: "userInfo")图像UIImageViewViewController

Ash*_*iya 11

字符串图像转换为 UIImage

字符串到 UIImage

yourString.toImage() // it will convert String  to UIImage

extension String {
    func toImage() -> UIImage? {
        if let data = Data(base64Encoded: self, options: .ignoreUnknownCharacters){
            return UIImage(data: data)
        }
        return nil
    }
}
Run Code Online (Sandbox Code Playgroud)

将 UIImage 转换为字符串然后使用

UIImage转字符串

yourImage.toPngString() // it will convert UIImage to string

extension UIImage {
    func toPngString() -> String? {
        let data = self.pngData()
        return data?.base64EncodedString(options: .endLineWithLineFeed)
    }
  
    func toJpegString(compressionQuality cq: CGFloat) -> String? {
        let data = self.jpegData(compressionQuality: cq)
        return data?.base64EncodedString(options: .endLineWithLineFeed)
    }
}
Run Code Online (Sandbox Code Playgroud)