Files
Zockerhoehle/Zockerhoehle/ViewModel/ConsoleViewModel.swift

56 lines
1.3 KiB
Swift

//
// ConsoleViewModel.swift
// Zockerhoehle
//
// Created by Julian-Steffen Müller on 25.09.19.
// Copyright © 2019 Julian-Steffen Müller. All rights reserved.
//
import SwiftUI
import Combine
class ConsoleViewModel : ObservableObject {
//var objectWillChange = ObservableObjectPublisher()
init(_ console: Console) {
self.console = console
self.name = console.name!
}
private var console : Console? {
didSet {
guard let console = console else { return }
self.name = console.name!
}
}
@Published var name : String {
didSet {
guard let console = console else { return }
console.name = name
}
}
var logo : UIImage? {
get {
if let logoImage = self.console?.logo?.image {
return logoImage
}
return .none
}
set {
if let console = self.console {
if let logoImage = newValue {
let newLogo = Logo(context: CDManager.shared.viewContext)
newLogo.console = console
newLogo.image = logoImage
console.logo = newLogo
}
}
}
}
}