view GeoQuiz/Logic/UserController.swift @ 19:f140bb277c96

refactor code
author Dennis C. M. <dennis@denniscm.com>
date Sun, 23 Oct 2022 00:11:38 +0100
parents GeoQuiz/Logic/UserClass.swift@136928bae534
children
line wrap: on
line source

//
//  UserController.swift
//  GeoQuiz
//
//  Created by Dennis Concepción Martín on 7/10/22.
//

import Foundation

class UserController: ObservableObject {
    @Published var data = UserDataModel() {
        didSet {
            if let userDataEncoded = try? JSONEncoder().encode(data) {
                UserDefaults.standard.set(userDataEncoded, forKey: "UserData")
            }
        }
    }

    init() {
        if let userData = UserDefaults.standard.data(forKey: "UserData") {
            if let decodedUserData = try? JSONDecoder().decode(UserDataModel.self, from: userData) {
                data = decodedUserData
            }
        }
    }
}