mastodon-ios/Mastodon/Extension/UserDefaults.swift

29 lines
590 B
Swift

//
// UserDefaults.swift
// Mastodon
//
// Created by MainasuK Cirno on 2021-4-26.
//
import Foundation
import AppShared
extension UserDefaults {
subscript<T: RawRepresentable>(key: String) -> T? {
get {
if let rawValue = value(forKey: key) as? T.RawValue {
return T(rawValue: rawValue)
}
return nil
}
set { set(newValue?.rawValue, forKey: key) }
}
subscript<T>(key: String) -> T? {
get { return value(forKey: key) as? T }
set { set(newValue, forKey: key) }
}
}