将 UIImage 保存为 UserDefault 为数组,Swift
Save UIImage to UserDefault as Array , Swift
我有一个 UiTableView ,我需要一个 Array Data Saving UIimage 临时用
我认为如果我使用 UserDefault 是不错的解决方案,但我不知道如何在 UserDefault 中保存我知道我不使用 .stringArray 我不知道如何我可以将图像保存在默认数组
中吗
struct Constants {
static let myKeyImage = "myKeyIMG”
}
var arrayiMG = [String]()
self.defaults.stringArray(forKey: Constants.myKeyImage)
if (self.defaults.stringArray(forKey: Constants.myKeyImage) != nil)
{
arrayUrl = self.defaults.stringArray(forKey: Constants.myKeyURL)!
}
我想保存为 .png 或 jpg
像这样
func plane(from anchor: ARPlaneAnchor) -> SCNNode {
if (`extension`.lowercased() == "png") {
data = UIImagePNGRepresentation(image)
}
else if (`extension`.lowercased() == "jpg") {
data = .uiImageJPEGRepresentation()
}
}
像这样的东西会起作用:
extension UserDefaults {
func imageArray(forKey key: String) -> [UIImage]? {
guard let array = self.array(forKey: key) as? [Data] else {
return nil
}
return array.flatMap() { UIImage(data: [=10=]) }
}
func set(_ imageArray: [UIImage], forKey key: String) {
self.set(imageArray.flatMap({ UIImagePNGRepresentation([=10=]) }), forKey: key)
}
}
用法:
let imageArray = [image1, image2, image3]
UserDefaults.standard.set(imageArray, forKey: "images")
let images = UserDefaults.standard.imageArray(forKey: "image")
但是,我不建议在 UserDefaults
中存储图像数组。将图像存储为文件可能更合适。然后,您可以将它们的路径存储在 UserDefaults
.
中
我有一个 UiTableView ,我需要一个 Array Data Saving UIimage 临时用
我认为如果我使用 UserDefault 是不错的解决方案,但我不知道如何在 UserDefault 中保存我知道我不使用 .stringArray 我不知道如何我可以将图像保存在默认数组
中吗struct Constants {
static let myKeyImage = "myKeyIMG”
}
var arrayiMG = [String]()
self.defaults.stringArray(forKey: Constants.myKeyImage)
if (self.defaults.stringArray(forKey: Constants.myKeyImage) != nil)
{
arrayUrl = self.defaults.stringArray(forKey: Constants.myKeyURL)!
}
我想保存为 .png 或 jpg 像这样
func plane(from anchor: ARPlaneAnchor) -> SCNNode {
if (`extension`.lowercased() == "png") {
data = UIImagePNGRepresentation(image)
}
else if (`extension`.lowercased() == "jpg") {
data = .uiImageJPEGRepresentation()
}
}
像这样的东西会起作用:
extension UserDefaults {
func imageArray(forKey key: String) -> [UIImage]? {
guard let array = self.array(forKey: key) as? [Data] else {
return nil
}
return array.flatMap() { UIImage(data: [=10=]) }
}
func set(_ imageArray: [UIImage], forKey key: String) {
self.set(imageArray.flatMap({ UIImagePNGRepresentation([=10=]) }), forKey: key)
}
}
用法:
let imageArray = [image1, image2, image3]
UserDefaults.standard.set(imageArray, forKey: "images")
let images = UserDefaults.standard.imageArray(forKey: "image")
但是,我不建议在 UserDefaults
中存储图像数组。将图像存储为文件可能更合适。然后,您可以将它们的路径存储在 UserDefaults
.