Skip to content

Instantly share code, notes, and snippets.

@peterprokop
Created January 6, 2016 07:56
Show Gist options
  • Save peterprokop/44438d290314065b4aa5 to your computer and use it in GitHub Desktop.
Save peterprokop/44438d290314065b4aa5 to your computer and use it in GitHub Desktop.
A simple wrapper for NSUserDefaults
class DefaultsManager {
enum Key : String {
case
AuthToken = "AuthToken",
AuthTokenTimestamp = "AuthTokenTimestamp"
}
class var sharedInstance : DefaultsManager {
struct Static {
static let instance : DefaultsManager = DefaultsManager()
}
return Static.instance
}
class func set(obj: AnyObject, forKey key: Key) {
NSUserDefaults.standardUserDefaults().setObject(obj, forKey: key.rawValue)
NSUserDefaults.standardUserDefaults().synchronize()
}
class func get(key: Key) -> AnyObject? {
return NSUserDefaults.standardUserDefaults().objectForKey(key.rawValue)
}
class func setBool(obj: Bool, forKey key: Key) {
NSUserDefaults.standardUserDefaults().setBool(obj, forKey: key.rawValue)
NSUserDefaults.standardUserDefaults().synchronize()
}
class func getBool(forKey key: Key) -> Bool {
return NSUserDefaults.standardUserDefaults().boolForKey(key.rawValue)
}
class func remove(key: Key) {
NSUserDefaults.standardUserDefaults().removeObjectForKey(key.rawValue)
NSUserDefaults.standardUserDefaults().synchronize()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment