前提・実現したいこと
現在クイズアプリを作成しています。
その際に問題出題画面から解答表示画面を問題の出題数が0になるまで行き来します。
その際に、解答表示画面でクイズに正解した場合は正解、間違っていた場合は不正解ボタンを押す仕様になっています。
この時正解ボタンを押した際は正解数変数をインクリメント、不正解ボタンを押した際は不正解数変数をインクリメントするのですが、このインクリメントした変数を保持しておく方法が知りたいため、ご教授いただけないでしょうか。
発生している問題・エラーメッセージ
現時点では変数にあらかじめ初期値として0を入れているのですが、問題出題画面→解答表示画面→問題出題画面→解答表示画面と遷移した際に2回目の回答表示では当たり前ですが、初期値にリセットされてしまいます。
なので、例えば出題数が4問、正解数が4問の場合、結果出力では「正解数:4、不正解:0」としたいのですが、「正解:1、不正解数:0」になってしまいます。
該当のソースコード
Questions.swift //問題出題ファイル ここは特に問題ありません。
Answer.swift //解答出力ファイル @State var correctAnswer = 0 //正解 @State var incorrectAnswer = 0 //不正解 VStack{ HStack{ Button(action:{ numberOfQuestions = numberOfQuestions - 1 correctAnswer = correctAnswer + 1 if numberOfQuestions == 0{ toResultView = true }else{ toTestView = true } }){ Text("正解") } Button(action:{ numberOfQuestions = numberOfQuestions - 1 incorrectAnswer = incorrectAnswer + 1 if numberOfQuestions == 0{ toResultView = true }else{ toTestView = true } }){ Text("不正解") } } }
試したこと
プロパティラッパーなども考えてみたのですが、どのように保持して良いか思いつきませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/16 23:15
2021/10/18 03:12