需要数据来初始化一个 StateObject
Need data to initialize a StateObject
我有一个 StateObject,我需要使用设置中的属性对其进行初始化:
@State private var settingsStore = SettingsStore()
@StateObject var matrix = Matrix(d: settingsStore.d)
我该怎么做?我不能使它成为一个计算 属性 因为它是一个状态对象
我相信您正在尝试在 View
.
中使用这些属性
要解决您的问题,您可以简单地将代码拆分为两个不同的视图,在第一个视图中定义 SettingsStore
实例,然后使用它来初始化 Matrix
实例第二个观点。
像这样:
struct FirstView: View {
@State private var settingsStore = SettingsStore()
var body: some View {
SubView(settingsStore: $settingsStore, matrix: Matrix(d: settingsStore.d))
}
}
struct SubView: View {
@Binding var settingsStore: SettingsStore
@StateObject var matrix: Matrix
var body: some View {
Text(matrix.d)
}
}
我有一个 StateObject,我需要使用设置中的属性对其进行初始化:
@State private var settingsStore = SettingsStore()
@StateObject var matrix = Matrix(d: settingsStore.d)
我该怎么做?我不能使它成为一个计算 属性 因为它是一个状态对象
我相信您正在尝试在 View
.
要解决您的问题,您可以简单地将代码拆分为两个不同的视图,在第一个视图中定义 SettingsStore
实例,然后使用它来初始化 Matrix
实例第二个观点。
像这样:
struct FirstView: View {
@State private var settingsStore = SettingsStore()
var body: some View {
SubView(settingsStore: $settingsStore, matrix: Matrix(d: settingsStore.d))
}
}
struct SubView: View {
@Binding var settingsStore: SettingsStore
@StateObject var matrix: Matrix
var body: some View {
Text(matrix.d)
}
}