Changed Console(View) to new core data swiftu ibest practices. Removed generation and added releaseDate. Adjustes Import/Export

This commit is contained in:
2021-05-18 15:36:12 +02:00
parent 0c40187409
commit 73ced9a452
14 changed files with 111 additions and 165 deletions

View File

@@ -112,12 +112,8 @@ class LibraryImport {
cdConsole.uuid = console.uuid
cdConsole.manufacturer = console.manufacturer
cdConsole.shortName = console.shortName
cdConsole.generation = Int64(console.generation)
let cdLogo = Logo(context: CDManager.shared.viewContext)
cdLogo.image = console.logo
cdLogo.console = cdConsole
cdConsole.logo = cdLogo
cdConsole.logo_icloud_path = console.logo_icloud_path
cdConsole.releaseDate = console.releaseDate
return cdConsole
}
@@ -290,9 +286,9 @@ struct BHLGameSeries : Decodable {
struct BHLConsole : Decodable {
let uuid : UUID
let name : String
let logo : UIImage?
let generation : Int
let logo_icloud_path : String?
let manufacturer : String?
let releaseDate : Date
let shortName : String?
let accessories : [UUID]
let games : [UUID]
@@ -300,9 +296,9 @@ struct BHLConsole : Decodable {
enum CodingKeys: String, CodingKey {
case uuid
case name
case logo
case generation
case logo_icloud_path
case manufacturer
case releaseDate
case shortName
case accessories
case games
@@ -312,17 +308,12 @@ struct BHLConsole : Decodable {
let container = try decoder.container(keyedBy: CodingKeys.self)
uuid = try container.decode(UUID.self, forKey: .uuid)
name = try container.decode(String.self, forKey: .name)
generation = try container.decode(Int.self, forKey: .generation)
logo_icloud_path = try container.decode(String.self, forKey: .logo_icloud_path)
manufacturer = try container.decode(String?.self, forKey: .manufacturer)
shortName = try container.decode(String?.self, forKey: .shortName)
accessories = try container.decode([UUID].self, forKey: .accessories)
releaseDate = try container.decode(Date.self, forKey: .releaseDate)
print("Decode releaseDate: \(releaseDate)")
games = try container.decode([UUID].self, forKey: .games)
if let coverBase64 = try container.decode(String?.self, forKey: .logo),
let coverData = Data(base64Encoded: coverBase64) {
logo = UIImage(data: coverData)
}else {
logo = .none
}
}
}