123456789101112131415161718192021222324252627282930 |
- //
- // UserDefault+Ex.swift
- // TSLiveWallpaper
- //
- // Created by 100Years on 2024/12/30.
- //
- import Foundation
- @propertyWrapper
- public struct UserDefault<T> {
- public let key: String
- public let defaultValue: T
- public let storage: UserDefaults
- public init(key: String, defaultValue: T, storage: UserDefaults = .standard) {
- self.key = key
- self.defaultValue = defaultValue
- self.storage = storage
- }
- public var wrappedValue: T {
- get {
- return storage.object(forKey: key) as? T ?? defaultValue
- }
- set {
- storage.set(newValue, forKey: key)
- }
- }
- }
|