Код: Выделить всё
class SettingsManager: ObservableObject {
static var shared = SettingsManager()
var carType: CarType {
CarType(rawValue: settings?.carTypeValue ?? "") ?? .simple
}
init() {
settings = Settings.first()
}
@Published private var settings: Settings?
}
@objc(Settings)
class Settings: NSManagedObject {
// a lot more other properties
@NSManaged var carTypeValue: String
}
Код: Выделить всё
@main
struct FieldService: App {
private var settings = SettingsManager.shared
var body: some Scene {
WindowGroup {
StartView()
.environmentObject(settings)
}
}
}
struct StartView: View {
@EnvironmentObject var settings: SettingsManager
var body: some View {
Text(settings.carType.name) // ❌ does not update when changed
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... it-through
Мобильная версия