【发布时间】:2021-10-19 00:58:36
【问题描述】:
我有一个调用数组索引来填充页面的页面视图。当发生某些事情时,我想增加索引以更新页面的内容。在此代码示例中,我在按下按钮时发生了这种情况。在我的真实应用程序中,我希望在计时器达到 0 时发生这种情况,但我怀疑如果我能弄清楚如何让这个按钮按下版本工作,我可以将其推断到我的真实用例中。以下是供您查看的简单代码:
import SwiftUI
struct LanguageStruct: Identifiable {
var id = UUID()
var groupTitle: String
var title: String
var subTitle: String
var image: String
}
var progLanguages = [
LanguageStruct(groupTitle: "Java", title: "Lame Langauge", subTitle: "Bad GUI", image: "Push-ups Wide"),
LanguageStruct(groupTitle: "SwiftUI", title: "Nice and New", subTitle: "Better than Swift but incomplete", image: "Sit-ups")
]
struct Playground_arrays: View {
@State private var index = 0
var programming: LanguageStruct
var body: some View {
VStack {
Text(programming.groupTitle)
Text (programming.subTitle)
Image(programming.image)
Button(action:{
//actions go here
if index < 2{
index += 1
}else{
index = 0
}
}, label:{
Text("Change Index")
.fontWeight(.semibold)
})
.buttonStyle(PrimaryButtonStyle(buttonColor: "PositiveGreen"))
}
}
}
struct Playground_arrays_Previews: PreviewProvider {
static var previews: some View {
Playground_arrays(programming: progLanguages[0])
.previewDevice("iPhone 12 mini")
}
}
有人可以帮我弄清楚如何在按下按钮时更新数组的索引,以便我可以更新页面内容吗?这似乎真的应该像上面的index var 计数器并将其放在programing: progLanguages[index] 字符串或其他东西一样简单,但我一生都无法弄清楚如何让它工作:(
【问题讨论】: