SwiftUI中如何使用EnvironmentObject初始化State属性?
How to use EnvironmentObject to initialize State Property in SwiftUI?
我在使用来自 EnvironmentObject
的数据初始化 State
时遇到了一个小问题。
@EnvironmentObject var settings: Settings
@State var localAllowReminders: Bool
init() {
self._localAllowReminders = State(initialValue: settings.allowReminders)
}
Obviously, I get the following Error Message: 'self' used before all stored properties are initialized.
问题:如何使用 EnvironmentObject 中的数据初始化状态?
感谢您的帮助。
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 !!
}
}
我在使用来自 EnvironmentObject
的数据初始化 State
时遇到了一个小问题。
@EnvironmentObject var settings: Settings
@State var localAllowReminders: Bool
init() {
self._localAllowReminders = State(initialValue: settings.allowReminders)
}
Obviously, I get the following Error Message: 'self' used before all stored properties are initialized.
问题:如何使用 EnvironmentObject 中的数据初始化状态?
感谢您的帮助。
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 !!
}
}