arrays - UIImage to String and String to UIImage in Swift
问题描述
I add name of the user and photo user to UserDefaults
array then send this array to my site + insert this array in another ViewController
Code to save:
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]]
In another ViewController
I don't know how to get from UserDefaults.standard.array(forKey: "userInfo")
image to UIImageView
in ViewController
解决方案
String image convert in to UIImage
String to 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
}
}
Convert UIImage to string then this is used
UIImage to String
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)
}
}
推荐阅读
- python - 使用 Pandas 查找两个 csv 之间的部分字符串匹配,并使用第一个 csv 的索引输出匹配的结果
- python - 没有使用 postgres 和 sqlalchemy 编码的字符串参数
- r - R传单地图 - 将图层组选择与图例结合起来?
- spring-batch - 通过 Spring Cloud Data Flow UI 提供作业参数
- c++ - 添加库后qt应用程序在启动时崩溃
- logstash - filebeat -.> logstash 代理
- ios - Xamarin - 分发证书显示“不在钥匙串中”
- java - 如何创建一个循环,以便它识别加载器元素,当它消失时,继续我的过程。在 Java 中使用 selenium
- javascript - Chartist 未在 Nuxt 的阈值插件中定义
- java - 单元测试因 NullPoiterException 而失败