56 lines
1.3 KiB
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!
|
|
}
|
|
}
|
|
|
|
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
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|