I have an observableObject
class that holds some data.
Observable Class
class UserManager:ObservableObject {
@Published
var profile:userProfileModel = userProfileModel()
@Published
var settings:Settings = Settings()
@Published var currentView:String
@Published var isLoggedIn:Bool
and I create and pass it from SceneDelegate
as an environmentObject
to view hierarchy.
SceneDelegate
@StateObject var userManager = UserManager()
let contentView = loginRoot().environmentObject(userManager)
The problem is that I have a singleton class that syncs with the server and I need to update the data in the UserManager
class.
Singleton Class
public class UserModelAPI {
@ObservedObject var userManager: UserManager = UserManager()
public static let shared = UserModelAPI()
func syncServer() {
userManager.isLoggedIn = true
}
but it doesn't work at all. I can not publish changes from the singleton class.