Ios 使用';如果';或';其他';导航到新视图的步骤
我正在制作一个测验应用程序,并试图找到一种结束测验的方法,这样它就可以导航到分数页。我尝试过使用NavigationLink,但它不起作用-有人能告诉我哪里出了问题吗 谢谢 完整代码Ios 使用';如果';或';其他';导航到新视图的步骤,ios,swift,swiftui,Ios,Swift,Swiftui,我正在制作一个测验应用程序,并试图找到一种结束测验的方法,这样它就可以导航到分数页。我尝试过使用NavigationLink,但它不起作用-有人能告诉我哪里出了问题吗 谢谢 完整代码 @State private var round: Round? @State private var question: Question? @State private var answer: Answer? @State private var roundIndex: Int = 0 @State priva
@State private var round: Round?
@State private var question: Question?
@State private var answer: Answer?
@State private var roundIndex: Int = 0
@State private var questionIndex: Int = 0
@State private var correctAnswers: Int = 0
@State private var showingScore = false
@State private var scoreTitle = ""
@State private var score = 0
@State private var showingAlert = false
@State private var percentageScore = 0
var answers: [Answer] {
return question?.answers ?? []
}
private func loadQuiz() {
round = quiz.rounds.first
question = round?.questions.first
questionIndex = 0
roundIndex = 0
score = 0
scoreTitle = ""
showingScore = false
showingAlert = false
}
private func onAnswerTap(_ answer: Answer) {
if answer.correct {
scoreTitle = "Correct"
score += 1
} else {
scoreTitle = "Incorrect"
}
showingScore = true
}
private func nextQuestion() {
showingScore = false
questionIndex += 1
guard let round = round else { fatalError() }
这里是我放置If或Else部分的地方
if questionIndex < round.questions.count {
question = round.questions[questionIndex]
} else {
NavigationLink(destination: ProgressStats()) {
Text("Quiz Completed, Well Done!")
}
}
}
}欢迎来到SO!如果没有看到更多的代码,我猜您没有将此代码包装到NavigationView中:
NavigationView {
...
if questionIndex < round.questions.count {
question = round.questions[questionIndex]
} else {
NavigationLink(destination: Progress()) {
Text("Quiz Completed, Well Done!")
}
}
...
}
“它不工作”-这到底意味着什么?NavigationLink不会自动切换到新视图。用户可以单击它以进入新视图。用if-else显示不同的内容是可行的,但是试着实现更多的代码,这样我们就可以复制它。你能给出这个条件所在的更多上下文吗?谢谢你-我已经把完整的代码放上去了
NavigationView {
...
if questionIndex < round.questions.count {
question = round.questions[questionIndex]
} else {
NavigationLink(destination: Progress()) {
Text("Quiz Completed, Well Done!")
}
}
...
}
var body: some View {
NavigationView {