WallPaperHome722/WallpaperHD_Live/Ranking/M/WP_4KModel.swift
2024-07-23 11:43:02 +08:00

93 lines
2.7 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// WP_4KModel.swift
// wallpaper_project
import UIKit
@objcMembers
class WP_4KModel: NSObject,Decodable,Encodable {
var title:String?
var thumbnail:String?
var preview:String?
var is_free:Int?
var category:Int?
var id:Int?
var cnt_like:Int?
enum CodingKeys: String, CodingKey {
case title
case thumbnail
case preview
case is_free
case category
case id
case cnt_like
}
// Decodable
required override init() {
super.init()
}
// Encodable
func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(title, forKey: .title)
try container.encode(thumbnail, forKey: .thumbnail)
try container.encode(preview, forKey: .preview)
try container.encode(is_free, forKey: .is_free)
try container.encode(category, forKey: .category)
try container.encode(id, forKey: .id)
try container.encode(cnt_like, forKey: .cnt_like)
}
}
class WP_PhotoAlbum: NSObject,Codable {
var img:String?
init(img: String?) {
self.img = img
}
}
//
class PreferencesManager {
static let shared = PreferencesManager()
let defaults = UserDefaults.standard
//
func saveRakModels(_ models: [WP_PhotoAlbum]) {
do {
let encoder = JSONEncoder()
let encodedData = try encoder.encode(models)
defaults.set(encodedData, forKey: "rakModels")
} catch {
print("Error encoding rakModels: \(error)")
}
}
//
func addRakModel(_ model: WP_PhotoAlbum) {
var existingModels = retrieveRakModels() ?? [] // 使
existingModels.append(model) //
saveRakModels(existingModels) //
}
//
func retrieveRakModels() -> [WP_PhotoAlbum]? {
if let savedData = defaults.data(forKey: "rakModels") {
do {
let decoder = JSONDecoder()
let loadedModels = try decoder.decode([WP_PhotoAlbum].self, from: savedData)
return loadedModels
} catch {
print("Error decoding rakModels: \(error)")
return nil
}
}
return nil
}
}