将"environmentObject"数据传递给另一个类(singleton)



我有一个observableObject类,它保存一些数据。

可观测类

class UserManager:ObservableObject {
@Published
var profile:userProfileModel = userProfileModel()

@Published
var settings:Settings = Settings()

@Published var currentView:String
@Published var isLoggedIn:Bool

并且我创建它并将其从CCD_ 2作为CCD_。

场景电报

@StateObject var userManager = UserManager()
let contentView = loginRoot().environmentObject(userManager)

问题是我有一个与服务器同步的singleton类,我需要更新UserManager类中的数据。

辛格尔顿类

public class UserModelAPI {
@ObservedObject var userManager: UserManager = UserManager()
public static let shared = UserModelAPI()

func syncServer() {
userManager.isLoggedIn = true
}

但它根本不起作用。我不能发布来自singleton类的更改。

在您的单例中,您有一个新的UserManager((,它与SceneDelegate不同"StateObject var userManager&";,这可能就是为什么它没有像你预期的那样工作。在你的场景中试试这个。电报:

@StateObject var userManager = UserModelAPI.shared.userManager

相关内容

  • 没有找到相关文章

最新更新