是什么导致我的代码中出现这个未知错误?
What is causing this unknown error in my code?
我正在尝试制作一个应用程序,每当单击某个按钮时,分数变量的值(无论其当时的值是什么)都会附加到数组中。我制作了一个 NavigationLink,它可以将您带到另一个显示所有分数的视图。但是,每当我单击 NavigationLink 查看分数时,它就会崩溃。错误是“线程 1:致命错误:索引超出范围”。
这是按钮的代码:
Button(action: {
gameTracker += 1
counter += 1
gameScores.append(scoreTracker)
roundTracker = 1
scoreTracker = 0
}
以下是点击 NavigationLink 后显示的视图代码:
struct scoreView: View {
@Binding var scoreTracker: Int
@Binding var gameTracker: Int
@Binding var gameScores: [Any]
@Binding var counter: Int
var body: some View {
Text("Scores: ")
VStack {
List {
ForEach(0..<counter) {
Text("Game \([=11=]): \(String(describing: gameScores[counter])) ")
}
}
}
}
}
有人知道哪里出了问题吗?
你可以试试这个代码,你应该使用 [=11=]
而不是 counter
:
struct scoreView: View {
@Binding var scoreTracker: Int
@Binding var gameTracker: Int
@Binding var gameScores: [Any]
@Binding var counter: Int
var body: some View {
Text("Scores: ")
VStack {
List {
ForEach(0..<counter) {
Text("Game \([=10=]): \(String(describing: gameScores[[=10=]])) ") // <<: Here!
}
}
}
}
}
我正在尝试制作一个应用程序,每当单击某个按钮时,分数变量的值(无论其当时的值是什么)都会附加到数组中。我制作了一个 NavigationLink,它可以将您带到另一个显示所有分数的视图。但是,每当我单击 NavigationLink 查看分数时,它就会崩溃。错误是“线程 1:致命错误:索引超出范围”。
这是按钮的代码:
Button(action: {
gameTracker += 1
counter += 1
gameScores.append(scoreTracker)
roundTracker = 1
scoreTracker = 0
}
以下是点击 NavigationLink 后显示的视图代码:
struct scoreView: View {
@Binding var scoreTracker: Int
@Binding var gameTracker: Int
@Binding var gameScores: [Any]
@Binding var counter: Int
var body: some View {
Text("Scores: ")
VStack {
List {
ForEach(0..<counter) {
Text("Game \([=11=]): \(String(describing: gameScores[counter])) ")
}
}
}
}
}
有人知道哪里出了问题吗?
你可以试试这个代码,你应该使用 [=11=]
而不是 counter
:
struct scoreView: View {
@Binding var scoreTracker: Int
@Binding var gameTracker: Int
@Binding var gameScores: [Any]
@Binding var counter: Int
var body: some View {
Text("Scores: ")
VStack {
List {
ForEach(0..<counter) {
Text("Game \([=10=]): \(String(describing: gameScores[[=10=]])) ") // <<: Here!
}
}
}
}
}