iPhone用のクイズアプリを作ろうとしています。始め方がよくわかりません。何百もの質問があるため、それぞれに対して個別のビューを作成する必要はありません。どの形式の問題をアプリにインポートして読み、ランダムな順序でカテゴリ別に問題を実行するように設定する必要がありますか (つまり、すべての問題を一度に、数学の問題のみ、英語の問題のみなど)。
3 に答える
何百もの質問があるため、それぞれに対して個別のビューを作成する必要はありません。
もちろん違います。質問は、アプリが操作するデータと考えてください。質問の形式ごとに 1 つのビューが必要な場合があります (複数選択、短い回答など)。
質問をアプリにインポートして読むには、どのような形式にする必要がありますか
それは完全にあなた次第です。それは設計上の決定なので、あなたに最適なものを選択してください。このように恣意的に見える決定に直面したときは、多くの場合、柔軟に対応することをお勧めします。たとえば、今のところ質問をテキスト ファイルに入れることに決めたとしても、別の形式を読み取るコードを簡単にプラグインできるようにコードを設計することができます。
次に、ランダムな順序でカテゴリ別に問題を実行するように設定します (つまり、すべての問題を一度に、数学の問題のみ、英語の問題のみなど)。
質問をある種のデータベースに保存することを検討したいと思われるかもしれません。次に、さまざまな基準でデータベースを照会して、さまざまな質問のセットを取得できます。
CoreData を使用して質問を保存し、アプリが初めて読み込まれたときに JSON ファイルなどから質問を読み取ることができます。これにより、将来的に REST API を介して質問を更新することもできます。
多くの解析を処理してくれるRestKitを見ることができます。
すべての質問をデータベースにロードしたら、残りはあなた次第ですが、CoreDate の上にビューを構築するのは非常に簡単です。
質問をデータベースに整理することをお勧めします。たとえば、次のようになります。
Questions Table
QuestionID | Question | Answer | Category
1 | What is 2 + 2 | 5 | math
2 | What is the capital of Argentina? | Buenos Aires | geography
このように、単一のビューを使用して、SQL で質問にアクセスするのは簡単です。