Mercurial > public > geoquiz
comparison GeoQuiz/Logic/PersistenceController.swift @ 16:1011e56b7832
implement user profile
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Thu, 20 Oct 2022 13:49:42 +0200 |
parents | |
children | f140bb277c96 |
comparison
equal
deleted
inserted
replaced
15:f1967f8cc67b | 16:1011e56b7832 |
---|---|
1 // | |
2 // PersistenceController.swift | |
3 // GeoQuiz | |
4 // | |
5 // Created by Dennis Concepción Martín on 19/10/22. | |
6 // | |
7 | |
8 import CoreData | |
9 import Foundation | |
10 | |
11 class PersistenceController: ObservableObject { | |
12 | |
13 // Create mock data for previews | |
14 static var preview: PersistenceController = { | |
15 let result = PersistenceController() | |
16 let viewContext = result.container.viewContext | |
17 | |
18 // for _ in 0..<10 { | |
19 // let playedGame = PlayedGame(context: viewContext) | |
20 // playedGame.id = UUID() | |
21 // playedGame.type = GameType(rawValue: Int16.random(in: 0...3))! | |
22 // playedGame.score = Int32.random(in: 0...50) | |
23 // playedGame.date = Date() | |
24 // | |
25 // if playedGame.type == .guessTheFlag || playedGame.type == .guessTheCapital { | |
26 // playedGame.correctAnswers = ["Bangladesh", "Belgium", "Burkina Faso", "Bermuda", "Jamaica"] | |
27 // playedGame.wrongAnswers = ["Belarus", "Russia"] | |
28 // } else { | |
29 // playedGame.correctAnswers = ["Herat", "Lobito", "Darregueira", "San Juan"] | |
30 // playedGame.wrongAnswers = ["San Luis", "Oranjestad"] | |
31 // } | |
32 // } | |
33 do { | |
34 try viewContext.save() | |
35 } catch { | |
36 let nsError = error as NSError | |
37 fatalError("Unresolved error \(nsError), \(nsError.userInfo)") | |
38 } | |
39 return result | |
40 | |
41 }() | |
42 | |
43 // Initialize container | |
44 let container = NSPersistentContainer(name: "GeoQuiz") | |
45 | |
46 init() { | |
47 container.loadPersistentStores { description, error in | |
48 if let error = error { | |
49 print("Core Data failed to load: \(error.localizedDescription)") | |
50 } | |
51 } | |
52 | |
53 container.viewContext.automaticallyMergesChangesFromParent = true | |
54 } | |
55 } |