我有这个应用程序结构,我需要使用 userManager 初始化appearancesStore 和behaviorsStore。但我收到错误Escaping auto closure captures mutating 'self' parameter并且Variable 'self.appearancesStore' captured by a closure before being initialized.
我尝试了一些不同的方法来做到这一点,但都失败了。有人建议如何做到这一点吗?
@main
struct DuneApp: App {
@StateObject var userManager = UserManager()
@StateObject var appearancesStore: AppearancesStore
@StateObject var behavioursStore: BehavioursStore
init() {
_appearancesStore = StateObject(wrappedValue: AppearancesStore(manager: self.userManager))
_behavioursStore = StateObject(wrappedValue: BehavioursStore(manager: self.userManager))
}
var body: some Scene {
WindowGroup {
AuthenticateView()
.environmentObject(userManager)
.environmentObject(appearancesStore)
.environmentObject(behavioursStore)
}
}
}
Run Code Online (Sandbox Code Playgroud)
尝试以下操作
@main
struct DuneApp: App {
@StateObject var userManager: UserManager
@StateObject var appearancesStore: AppearancesStore
@StateObject var behavioursStore: BehavioursStore
init() {
let userManager = UserManager()
_userManager = StateObject(wrappedValue: userManager)
_appearancesStore = StateObject(wrappedValue: AppearancesStore(manager: userManager))
_behavioursStore = StateObject(wrappedValue: BehavioursStore(manager: userManager))
}
var body: some Scene {
WindowGroup {
AuthenticateView()
.environmentObject(userManager)
.environmentObject(appearancesStore)
.environmentObject(behavioursStore)
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |