How to update a SwiftUI view state from outside (UIViewController for example)

@State is the wrong thing to use here. You'll need to use @ObservedObject.

@State: Used for when changes occur locally to your SwiftUI view - ie you change eyesOpened from a toggle or a button etc from within the SwiftUI view it self.

@ObservedObject: Binds your SwiftUI view to an external data source - ie an incoming notification or a change in your database, something external to your SwiftUI view.

I would highly recommend you watch the following WWDC video - Data Flow Through SwiftUI

Tags:

Ios

Swift

Swiftui