Mercurial > public > geoquiz
annotate GeoQuiz/Logic/UserClass.swift @ 16:1011e56b7832
implement user profile
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Thu, 20 Oct 2022 13:49:42 +0200 |
parents | 136928bae534 |
children |
rev | line source |
---|---|
9 | 1 // |
10
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
9
diff
changeset
|
2 // UserClass.swift |
9 | 3 // GeoQuiz |
4 // | |
5 // Created by Dennis Concepción Martín on 7/10/22. | |
6 // | |
7 | |
8 import Foundation | |
9 | |
10 class User: ObservableObject { | |
14 | 11 @Published var data = UserData() { |
9 | 12 didSet { |
14 | 13 if let userDataEncoded = try? JSONEncoder().encode(data) { |
14 UserDefaults.standard.set(userDataEncoded, forKey: "UserData") | |
9 | 15 } |
16 } | |
17 } | |
14 | 18 |
9 | 19 init() { |
14 | 20 if let userData = UserDefaults.standard.data(forKey: "UserData") { |
21 if let decodedUserData = try? JSONDecoder().decode(UserData.self, from: userData) { | |
22 data = decodedUserData | |
9 | 23 } |
24 } | |
25 } | |
26 } |