teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

0

2019/10/18 01:56

投稿

takabosoft
takabosoft

スコア8356

answer CHANGED
@@ -2,7 +2,7 @@
2
2
  > questionArray = csvArray[questionCount].components(separatedBy: ",")
3
3
 
4
4
  出題時に上記のようにquestionArrayを毎回元のCSVから生成しなおしているので、
5
- いくら`questionArray[6] = "1"`などを実行しても、その情報は残りません。
5
+ いくら`questionArray[6] = "1"`などを実行しても、その情報はメモリ上へ残りません。
6
6
 
7
7
  解決方法の方針ですが、まず1問だけを扱うクラス(または構造体)を作ってください。
8
8
 
@@ -11,6 +11,8 @@
11
11
  class Question {
12
12
  /// 英単語
13
13
  var word = ""
14
+ /// 正解のインデックス
15
+ var answerIndex = 0
14
16
  /// 選択肢
15
17
  var choices = [String]()
16
18
  /// 星
@@ -18,7 +20,7 @@
18
20
  }
19
21
  ```
20
22
 
21
- あとは一度だけCSVファイルを解析し、上記クラスの配列としてメンバー変数へ保持してください。
23
+ あとは一度だけCSVファイルを解析し、上記クラスの配列として全問題をメンバー変数へ保持してください。
22
24
 
23
25
  ```
24
26
  /// 全問題
@@ -32,7 +34,7 @@
32
34
 
33
35
  ```
34
36
 
35
- あとは、クリアしたら各QuestionのisStarフラグをtrue/falseにするだけで、情報を保持できます。
37
+ あとは、クリアしたら各QuestionのisStarフラグをtrue/falseにするだけで、情報をメモリ上へ保持できます。
36
38
 
37
39
  また、問題提出時にはこのisStarフラグを見てUIの星の画像を差し替えることも忘れずに。
38
40
  (たぶん現状はその処理もやっていません)