chr*_*epe 10 environment state initialization swift swiftui
我在State
使用来自 的数据初始化 a 时遇到了一个小问题EnvironmentObject
。
@EnvironmentObject var settings: Settings
@State var localAllowReminders: Bool
init() {
self._localAllowReminders = State(initialValue: settings.allowReminders)
}
Run Code Online (Sandbox Code Playgroud)
显然,我收到以下错误消息:在初始化所有存储的属性之前使用了“self”。
问题:如何使用环境对象中的数据初始化状态?
感谢您的帮助。
EnvironmentObject
在视图构造函数调用后注入,因此您必须将状态初始化为默认值并将其重置为顶部主体视图onAppear
修饰符中的所需值,例如
@EnvironmentObject var settings: Settings
@State var localAllowReminders: Bool = false // << just any default
var body: some View {
VStack { // << any top view
// ...
}
.onAppear {
self.localAllowReminders = settings.allowReminders // << here !!
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4077 次 |
最近记录: |