Swift だけでは何も分かりませんので Xcode で iOS/macOS を作るつもりだとします。
たくさんの文章
CSV もなくはないですが、オンラインで配信するなら JSON、アプリケーションへのバンドルで完結させるならプロパティリスト(Property List)が使われます。とくにプロパティリストはファイルを NSArray
または NSDictionary
として直接読み込めるので便利です。
Xcode でのプロパティリスト編集:
次のように問題文と三択の回答をセットで持たせることもできます。
アプリでの読み込み:
swift
1if let path = Bundle.main.path(forResource: "questions", ofType: "plist") {
2 if let questions = NSArray(contentsOfFile: path) {
3 // ...
4 }
5}
画像
PNG や JPEG の画像ファイルをそのままバンドルすることもできますが、これも通常はアセットカタログ(.xcassets
)を使用します。
Xcode でのアセットカタログの編集:
ディスプレイの精細さに合わせたそれぞれの倍率をまとめて格納できます。倍率を無効にしひとつの画像で済ますこともできます。
アプリでの読み込み:
swift
1if let image = UIImage(named: "question1.jpg") {
2 // ...
3}
どう整理するかは開発者次第ですが、プロパティリストとアセットカタログが基本なのでそれで始めるといいかと思います。
出題数が数千・数万件もあるようなら SQLite3 などのデータベースになるかと。CoreData というのも聞いたことがあるかもしれませんが、アプリ上でデータを編集しないのであればその多機能さを活かす場面がないので無駄が多くなります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/30 08:20