Skip to content

Instantly share code, notes, and snippets.

@alizainprasla
Last active June 26, 2020 10:09
Show Gist options
  • Save alizainprasla/d24dbeed1bfee118b06c5ea8579a562f to your computer and use it in GitHub Desktop.
Save alizainprasla/d24dbeed1bfee118b06c5ea8579a562f to your computer and use it in GitHub Desktop.
User Default Helper
//
// UserDefaultHelper.swift
//
// Created by Ali Zain on 12/03/2020.
// Copyright © 2020 Ali Zain. All rights reserved.
//
import Foundation
public enum UserDefaultType:String {
case autoPrint
case lineSpacing
case numberOfPage
}
final class UserDefaultHelper {
static func save<T>(value:T , key:UserDefaultType){
UserDefaults.standard.set(value, forKey: key.rawValue)
UserDefaults.standard.synchronize()
}
static func get<T>(for type:T.Type,key:UserDefaultType) -> T? {
if let value = UserDefaults.standard.value(forKey: key.rawValue) as? T {
return value
}
return nil
}
}
@alizainprasla
Copy link
Author

alizainprasla commented Apr 28, 2020

How to use:

Get from user default
UserDefaultHelper.get(for: Float.self, key: .lineSpacing)

Save in user default
UserDefaultHelper.save(value: value, key: .lineSpacing)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment