diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GeoQuiz/Logic/UserController.swift	Sun Oct 23 00:11:38 2022 +0100
@@ -0,0 +1,26 @@
+//
+//  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
+            }
+        }
+    }
+}