waosSwift/lib/helpers/Extensions/UserDefaults.swift
/**
* Dependencies
*/
import UIKit
/**
* Extension
*/
extension UserDefaults {
subscript<T>(key: String) -> T? {
get {
return value(forKey: key) as? T
}
set {
set(newValue, forKey: key)
}
}
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)
}
}
func contains(_ key: String) -> Bool {
return UserDefaults.standard.object(forKey: key) != nil
}
}