//
// ViewModel.swift
// SavePhotoApp
//
// Created by wangxuncai on 2021/11/23.
//
import Foundation
import SwiftUI
extension UIImage {
var data: Data? {
if let data = self.jpegData(compressionQuality: 1.0) {
return data
}else if let data = self.pngData() {
return data
} else {
return nil
}
}
}
extension Data {
var image: UIImage? {
if let image = UIImage(data: self,scale: 1) {
return image
} else {
return nil
}
}
}
struct PhotoCardModel:Identifiable,Codable{
var id = UUID().uuidString
var title:String
var photo:Data
}
class ViewModel:ObservableObject{
@Published var photoCards:[PhotoCardModel] = []{
didSet{
saveData()
}
}
init(){
getData()
}
func getData(){
guard let data = UserDefaults.standard.data(forKey: "photoCards") else{return}
self.photoCards = try! JSONDecoder().decode([PhotoCardModel].self, from: data)
}
func saveData(){
let jsonData = try? JSONEncoder().encode(photoCards)
UserDefaults.standard.set(jsonData, forKey: "photoCards")
}
}
网友评论