diff --git a/LearnEnglish/LearnEnglish/Views/QuizView.swift b/LearnEnglish/LearnEnglish/Views/QuizView.swift index 911a1b0..67930f4 100644 --- a/LearnEnglish/LearnEnglish/Views/QuizView.swift +++ b/LearnEnglish/LearnEnglish/Views/QuizView.swift @@ -6,13 +6,18 @@ struct QuizView: View { @Environment(SpeechService.self) private var speech @Environment(\.dismiss) private var dismiss - @State private var questions: [QuizQuestion] = [] + @State private var questions: [QuizQuestion] @State private var currentIndex = 0 @State private var selectedOption: String? @State private var wrongWords: [Word] = [] @State private var finished = false @State private var startDate = Date.now + init(config: QuizConfig) { + self.config = config + _questions = State(initialValue: QuizGenerator.makeQuestions(mode: config.mode, words: config.words)) + } + private var current: QuizQuestion? { questions.indices.contains(currentIndex) ? questions[currentIndex] : nil } @@ -33,9 +38,6 @@ struct QuizView: View { } .navigationTitle(config.mode.rawValue) .navigationBarTitleDisplayMode(.inline) - .onAppear { - if questions.isEmpty { restart() } - } } private func questionView(_ question: QuizQuestion) -> some View { diff --git a/LearnEnglish/LearnEnglish/Views/WordListView.swift b/LearnEnglish/LearnEnglish/Views/WordListView.swift index 9c71469..f92f807 100644 --- a/LearnEnglish/LearnEnglish/Views/WordListView.swift +++ b/LearnEnglish/LearnEnglish/Views/WordListView.swift @@ -24,7 +24,7 @@ struct WordListView: View { Button("英选汉") { startQuiz(.enToZh) } Button("汉选英") { startQuiz(.zhToEn) } } label: { - Label("测验", systemImage: "questionmark.circle") + Text("测验") } } }