我有一个视图 (view1) 来显示不同的数据,我希望该视图根据另一个变量进行更改。
struct View1: View {
let array = myFunc()
var body: some View {
VStack {
Text("\(settings.score)")
List {
ForEach(0..<array.count) { section in
NavigationLink(destination: RowDetailView(array: array[section])) {
RowView(array: array[section])
}
}
}
}
在另一个视图中,我建立了一个 Observable 对象:
class GameSettings: ObservableObject {
@Published var score = 1
}
在其他观点中,这一切都很好。我可以根据需要更新它。
我有一个函数来获取数组变量,我希望它根据“分数”的当前值返回一个不同的数组。
func myFunc() -> [arrayModel] {
@StateObject var settings = GameSettings()
if settings.score == 1 {
var array = [ arrayModel(example: example) ]
return array
}
else if settings.score == 2 {
var array = [ arrayModel(example: example) ]
return array
}
}
这似乎不起作用。我已经尝试了各种调整版本,但找不到如何正确实现它。任何帮助将不胜感激。