Skip to content

Instantly share code, notes, and snippets.

@azamsharp
Created December 3, 2017 12:33
Show Gist options
  • Save azamsharp/6729903e468be806d7b7f97d025e9805 to your computer and use it in GitHub Desktop.
Save azamsharp/6729903e468be806d7b7f97d025e9805 to your computer and use it in GitHub Desktop.
Save User and getUsers
func saveUser(_ user:User) -> Bool {
var isSaved = false
user.userId = UUID().uuidString
var users = getUsers()
users.append(user)
let usersData = NSKeyedArchiver.archivedData(withRootObject: users)
// save the user
let userDefaults = UserDefaults.standard
userDefaults.setValue(usersData, forKey: "users")
userDefaults.synchronize()
isSaved = true
return isSaved
}
func getUsers() -> [User] {
let userDefaults = UserDefaults.standard
let usersData = userDefaults.value(forKey: "users") as? Data
if usersData == nil {
return [User]()
}
let users = NSKeyedUnarchiver.unarchiveObject(with: usersData!) as! [User]
return users
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment