回答編集履歴

2

配列

2020/02/17 22:12

投稿

hoshi-takanori
hoshi-takanori

スコア7901

test CHANGED
@@ -171,3 +171,85 @@
171
171
 
172
172
 
173
173
  また、「universe」「ユニヴァース」「宇宙」を一つの画像として表示しているようですが、一つ一つ画像を作るのは大変だと思いますので、それぞれ UILabel を使って文字列で表示することを検討してもいいと思います。
174
+
175
+
176
+
177
+ ---
178
+
179
+
180
+
181
+ ちなみに、配列を使って書き直すとこんな感じになると思います。
182
+
183
+
184
+
185
+ ```swift
186
+
187
+ class AnkiViewController: UIViewController {
188
+
189
+
190
+
191
+ // 略
192
+
193
+
194
+
195
+ @IBOutlet weak var eitangoView: UIImageView!
196
+
197
+
198
+
199
+ var eitangoNumber = 0
200
+
201
+
202
+
203
+ //英単語データ
204
+
205
+ let eitangoImages = ["宇宙", "海外へ", "工業", "事故", "多分", "動き", "突然", "宝物", "隣人"];
206
+
207
+
208
+
209
+ //番号の単語を覚えていない場合はtrueにする
210
+
211
+ var shikakuFlags = [false, false, false, false, false, false, false, false, false]
212
+
213
+
214
+
215
+ @IBAction func ShuffleAction(_ sender: Any) {
216
+
217
+ var neweitangoNumber = 0
218
+
219
+ repeat {
220
+
221
+ neweitangoNumber = Int(arc4random_uniform(9))
222
+
223
+ } while eitangoNumber == neweitangoNumber
224
+
225
+
226
+
227
+ eitangoNumber = neweitangoNumber
228
+
229
+
230
+
231
+ if shikakuFlags[eitangoNumber] {
232
+
233
+ eitangoView.image = UIImage(named: eitangoImages[eitangoNumber] + "2")
234
+
235
+ } else {
236
+
237
+ eitangoView.image = UIImage(named: eitangoImages[eitangoNumber])
238
+
239
+ }
240
+
241
+ }
242
+
243
+
244
+
245
+ @IBAction func shikakuAction(_ sender: Any) {
246
+
247
+ eitangoView.image = UIImage(named: eitangoImages[eitangoNumber] + "2")
248
+
249
+ shikakuFlags[eitangoNumber] = true
250
+
251
+ }
252
+
253
+ }
254
+
255
+ ```

1

誤字の修正

2020/02/17 22:12

投稿

hoshi-takanori
hoshi-takanori

スコア7901

test CHANGED
@@ -166,7 +166,7 @@
166
166
 
167
167
  同じような名前の変数をたくさん作って、ShuffleAction や oboetenaiAction 同じような処理を書くのは大変ですよね。コピペして修正してると、間違えて "宇宙" を覚えてないはずが "海外へ" を覚えてないことになってたりするし…。
168
168
 
169
- という場合に便利なのが「配列」と「ループ」なので、ぜひ勉強して使えるようになってください。
169
+ という場合に便利なのが「配列」なので、ぜひ勉強して使えるようになってください。
170
170
 
171
171
 
172
172