クイズをJSONファイルに作成し
Quiz.json
{
"fourChoice": [
{"question": "問題文", "answer": "答えの中身", "difficulty": "難易度", "commentary": "問題の解説"},
{"question": "問題文", "answer": "答えの中身", "difficulty": "難易度", "commentary": "問題の解説"},
{"question": "問題文", "answer": "答えの中身", "difficulty": "難易度", "commentary": "問題の解説"}
以下続く
]
という具合に書いてあります。
[Quiz]の中にはクイズのArrayが入っています。
QuizBox.swift
func getQuestionsForGeneral() -> [Quiz] {
return Array(getQuestionsByDifficulty(difficulty: 1).shuffled().prefix(10))
}
↑難易度を引数に受け取り、その問題リストを作成し、shuffled()をして問題をランダムにしてから、前の10個を取った上でArrayにして返す感じですね。
shuffled()
に関してはこちらの記事が参考になります。
つまり、shuffled()は、要素をシャッフルした配列を新たに生成します。
prefix()
に関していうと、最初からいくつ取り出すか、ということですね。今回は10問取得するので10としています。