Closed tas5521 closed 6 months ago
close #94
問題リスト選択Pickerの要素の識別にUUIDを使用するよう変更します。
Issue 92(前回選択した時の値からスタートする)で、前回選択した時の値を保持するため、PickerにはUUIDを持たせます。
questionListPikerItems
selection
viewModel.questionListID
.onAppear
id
questionListID
createQuestions
createRandom20
<ランダム20問からの出題> スタートボタンを押して、これまで通り、ランダム20問が出題されることを確認してください。
<独自の問題リストからの出題>
<問題リストが削除された時の対応>
上記を確認しました。
ランダム20問のUUIDはアプリ内の複数の箇所で使用されるため、DefaultUUIDという構造体に持たせて、静的変数にして使用しています。この使い方でよろしいでしょうか?
関連Issue番号
close #94
追加・変更の概要
問題リスト選択Pickerの要素の識別にUUIDを使用するよう変更します。
変更の目的
Issue 92(前回選択した時の値からスタートする)で、前回選択した時の値を保持するため、PickerにはUUIDを持たせます。
タスクの進捗状況
変更内容
questionListPikerItems
を作成しました。このプロパティでは、Pickerに表示するItemを作成します。(ユーザーが作成した問題リストを上に、ランダム20は一番最後に表示することとしました。)selection
として、viewModel.questionListID
を使用します。.onAppear
に、もし、現在指定されたIDの問題が問題リスト(fetchedLists)になかったら、問題IDをランダム20のものにする処理を追加しました。id
を持たせました。questionListID
を持たせました。(初期値は、ランダム20のUUID)createQuestions
メソッドから分離し、createRandom20
という名前のメソッドにしました。createQuestions
メソッドの内部では、問題リストを識別するIDがランダム20のものであるかを判定し、もしランダム20のIDであれば、createRandom20
を呼び出し、ランダム20問を作成します。影響範囲
操作方法
<ランダム20問からの出題> スタートボタンを押して、これまで通り、ランダム20問が出題されることを確認してください。
<独自の問題リストからの出題>
<問題リストが削除された時の対応>
テストしたこと
上記を確認しました。
相談事項
ランダム20問のUUIDはアプリ内の複数の箇所で使用されるため、DefaultUUIDという構造体に持たせて、静的変数にして使用しています。この使い方でよろしいでしょうか?