質問編集履歴

2

codeの追加

2019/09/06 05:57

投稿

seiya_0930
seiya_0930

スコア17

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,445 @@
19
19
  そのためぬは変数をもとにグラフにくっつけるような考えかな?となんとなく思っています。
20
20
 
21
21
  何か良い考えなどがありましたらぜひご提示お願いいたします。
22
+
23
+
24
+
25
+ ```swift
26
+
27
+ import UIKit
28
+
29
+
30
+
31
+
32
+
33
+ // クイズ1つの問題がどんな値を扱うかうか
34
+
35
+ //情報が更新されることはないので、構造体にする
36
+
37
+ struct Quiz {
38
+
39
+
40
+
41
+ let text: String
42
+
43
+ let optionOne: String
44
+
45
+ let optionTwo: String
46
+
47
+
48
+
49
+ let optionThree: String
50
+
51
+
52
+
53
+ // Initializer(イニシャライザ) = 初期化処理
54
+
55
+ init(text: String, optionOne: String, optionTwo: String, optionThree: String) {
56
+
57
+ self.text = text
58
+
59
+ self.optionOne = optionOne
60
+
61
+ self.optionTwo = optionTwo
62
+
63
+ self.optionThree = optionThree
64
+
65
+
66
+
67
+ }
68
+
69
+
70
+
71
+
72
+
73
+ }
74
+
75
+ ```
76
+
77
+ ```swift
78
+
79
+ import UIKit
80
+
81
+
82
+
83
+ class resultViewController: UIViewController {
84
+
85
+
86
+
87
+ @IBOutlet var label:UILabel!
88
+
89
+
90
+
91
+ //ここにpointを渡す
92
+
93
+ var result :String = ""
94
+
95
+
96
+
97
+ override func viewDidLoad() {
98
+
99
+ super.viewDidLoad()
100
+
101
+
102
+
103
+ label.text = String(result)
104
+
105
+
106
+
107
+
108
+
109
+ // Do any additional setup after loading the view.
110
+
111
+ }
112
+
113
+
114
+
115
+ override func didReceiveMemoryWarning() {
116
+
117
+ super.didReceiveMemoryWarning()
118
+
119
+ // Dispose of any resources that can be recreated.
120
+
121
+ }
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+ }
132
+
133
+ ```
134
+
135
+ ```swift
136
+
137
+ import UIKit
138
+
139
+
140
+
141
+ class nextViewController: UIViewController {
142
+
143
+
144
+
145
+ // MARK: - IBOutlet
146
+
147
+
148
+
149
+ @IBOutlet var quizNumberLabel: UILabel!
150
+
151
+ @IBOutlet var quizTextView: UITextView!
152
+
153
+ @IBOutlet var optionOneButton: UIButton!
154
+
155
+ @IBOutlet var optionTwoButton: UIButton!
156
+
157
+ @IBOutlet var optionThreeButton: UIButton!
158
+
159
+
160
+
161
+ // MARK: - Properties
162
+
163
+
164
+
165
+ var point: Int = 0
166
+
167
+ var quizNumber: Int = 0
168
+
169
+ var quizArray: [Quiz] = []
170
+
171
+
172
+
173
+ // MARK: - Lifecycle
174
+
175
+
176
+
177
+ override func viewDidLoad() {
178
+
179
+ super.viewDidLoad()
180
+
181
+
182
+
183
+ setUpQuiz()
184
+
185
+ showQuiz()
186
+
187
+ }
188
+
189
+
190
+
191
+ // MARK: - UI
192
+
193
+
194
+
195
+ func setUpQuiz() {
196
+
197
+
198
+
199
+ let quiz1 = Quiz(text: "毎日3食食べましたか?", optionOne:"はい", optionTwo:"時々食べた", optionThree: "食べていない")
200
+
201
+ let quiz2 = Quiz(text: "決まった時間にご飯を食べていますか?", optionOne: "食べている", optionTwo: "時々食べる", optionThree: "食べていない")
202
+
203
+ let quiz3 = Quiz(text: "果物を1日1回は食べていますか?", optionOne: "はい", optionTwo: "時々食べる", optionThree: "食べていない")
204
+
205
+ let quiz4 = Quiz(text: "野菜を十分に食べていますか?", optionOne: "食べている", optionTwo: "日による", optionThree: "食べていない")
206
+
207
+ let quiz5 = Quiz(text: "インスタンス食品は食べましたか?", optionOne: "食べていない", optionTwo: "時々食べた", optionThree: "よく食べた")
208
+
209
+ let quiz6 = Quiz(text: "タバコを吸いましたか?", optionOne: "吸わない", optionTwo: "たまに吸う", optionThree: "たくさん吸う")
210
+
211
+ let quiz7 = Quiz(text: "お酒を飲みましたか?", optionOne: "飲まない", optionTwo: "たまに飲んだ", optionThree: "飲まない")
212
+
213
+ let quiz8 = Quiz(text: "運動して体を動かしましたか?", optionOne: "動かした", optionTwo: "たまに動かした", optionThree: "動かしていない")
214
+
215
+ let quiz9 = Quiz(text: "翌日まで疲れが残ることがありますか?", optionOne: "特にない", optionTwo: "時々ある", optionThree: "よくある")
216
+
217
+ let quiz10 = Quiz(text: "食欲がない時がありますか?", optionOne: "特にない", optionTwo: "時々ある", optionThree: "よくある")
218
+
219
+ let quiz11 = Quiz(text: "原因不明の下痢などが起こりますか?", optionOne: "特にない", optionTwo: "時々ある", optionThree: "よくある")
220
+
221
+ let quiz12 = Quiz(text: "朝スッキリ起きられない時がありますか?", optionOne: "特にない", optionTwo: "時々ある", optionThree: "よくある")
222
+
223
+ let quiz13 = Quiz(text: "中々寝付けないことがありますか?", optionOne: "特にない", optionTwo: "時々ある", optionThree: "よくある")
224
+
225
+ let quiz14 = Quiz(text: "何事にもやる気が起きにくいですか?", optionOne: "特にない", optionTwo: "時々ある", optionThree: "よくある")
226
+
227
+ let quiz15 = Quiz(text:"色々なことに関心が薄くなりますか?", optionOne: "特にない", optionTwo: "時々ある",optionThree: "よくある")
228
+
229
+ let quiz16 = Quiz(text: "体調を崩しやすいですか?", optionOne: "特にない", optionTwo: "時期による", optionThree: "よく崩す")
230
+
231
+ let quiz17 = Quiz(text: "未来について妙に焦ることがありますか?", optionOne: "特にない", optionTwo: "時々ある", optionThree: "よくある")
232
+
233
+ let quiz18 = Quiz(text: "些細なことで腹が立つことがありますか?", optionOne: "特にない", optionTwo: "時々ある", optionThree: "よくある")
234
+
235
+ let quiz19 = Quiz(text: "肌荒れの症状が出ることがありますか?", optionOne: "特にない", optionTwo: "少し荒れる", optionThree: "よく荒れる")
236
+
237
+ let quiz20 = Quiz(text: "睡眠は十分に取れていますか?", optionOne: "取れている", optionTwo: "日による", optionThree: "取れていない")
238
+
239
+
240
+
241
+ quizArray.append(quiz1)
242
+
243
+ quizArray.append(quiz2)
244
+
245
+ quizArray.append(quiz3)
246
+
247
+ quizArray.append(quiz4)
248
+
249
+ quizArray.append(quiz5)
250
+
251
+ quizArray.append(quiz6)
252
+
253
+ quizArray.append(quiz7)
254
+
255
+ quizArray.append(quiz8)
256
+
257
+ quizArray.append(quiz9)
258
+
259
+ quizArray.append(quiz10)
260
+
261
+ quizArray.append(quiz11)
262
+
263
+ quizArray.append(quiz12)
264
+
265
+ quizArray.append(quiz13)
266
+
267
+ quizArray.append(quiz14)
268
+
269
+ quizArray.append(quiz15)
270
+
271
+ quizArray.append(quiz16)
272
+
273
+ quizArray.append(quiz17)
274
+
275
+ quizArray.append(quiz18)
276
+
277
+ quizArray.append(quiz19)
278
+
279
+ quizArray.append(quiz20)
280
+
281
+
282
+
283
+ }
284
+
285
+
286
+
287
+ func showQuiz() {
288
+
289
+ //クイズ番号、クイズ、各選択肢の表示
290
+
291
+ quizNumberLabel.text = String(quizNumber + 1) + "問目"
292
+
293
+ quizTextView.text = quizArray[quizNumber].text
294
+
295
+
296
+
297
+ UIView.setAnimationsEnabled(false)
298
+
299
+ optionOneButton.setTitle(quizArray[quizNumber].optionOne , for:.normal )
300
+
301
+ optionOneButton.layoutIfNeeded()
302
+
303
+ optionTwoButton.setTitle(quizArray[quizNumber].optionTwo, for: .normal)
304
+
305
+ optionTwoButton.layoutIfNeeded()
306
+
307
+ optionThreeButton.setTitle(quizArray[quizNumber].optionThree, for: .normal)
308
+
309
+ optionThreeButton.layoutIfNeeded()
310
+
311
+ UIView.setAnimationsEnabled(true)
312
+
313
+ }
314
+
315
+
316
+
317
+ func resetQuiz() {
318
+
319
+ point = 0
320
+
321
+ quizNumber = 0
322
+
323
+ showQuiz()
324
+
325
+ }
326
+
327
+
328
+
329
+
330
+
331
+ func updataQuiz() {
332
+
333
+ if quizNumber >= 19 {
334
+
335
+ // 全て完了時の処理 画面遷移するみたいなのでここは消してください
336
+
337
+ performSegue(withIdentifier: "toSecond", sender: nil)
338
+
339
+ //self.performSegue(withIdentifier: "toSecond", sender: nil)
340
+
341
+ } else {
342
+
343
+ quizNumber = quizNumber + 1
344
+
345
+ showQuiz()
346
+
347
+ }
348
+
349
+ }
350
+
351
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
352
+
353
+ if segue.identifier == "toSecond" {
354
+
355
+ let resultVC = segue.destination as! resultViewController
356
+
357
+ resultVC.result = "あなたの健康率は(point)%です"
358
+
359
+ }
360
+
361
+ }
362
+
363
+ // MARK: - IBAction
364
+
365
+
366
+
367
+ @IBAction func pushOptionOneButton() {
368
+
369
+ // Option1 のボタンを押したのでPointに5%加算
370
+
371
+ point += 5
372
+
373
+ updataQuiz()
374
+
375
+
376
+
377
+ }
378
+
379
+
380
+
381
+ @IBAction func pushOptionTwoButton() {
382
+
383
+ // Option2 のボタンを押したのでPointに3%加算
384
+
385
+ point += 3
386
+
387
+ updataQuiz()
388
+
389
+ }
390
+
391
+
392
+
393
+ @IBAction func pushOptionThreeButton() {
394
+
395
+ // Option3 のボタンを押したのでPointに1%加算
396
+
397
+ point += 1
398
+
399
+ updataQuiz()
400
+
401
+ }
402
+
403
+
404
+
405
+ }
406
+
407
+ ```
408
+
409
+ ```swift
410
+
411
+
412
+
413
+ import UIKit
414
+
415
+ import Charts
416
+
417
+
418
+
419
+ class graphViewController: UIViewController {
420
+
421
+ override func viewDidLoad() {
422
+
423
+ super.viewDidLoad()
424
+
425
+
426
+
427
+ var rect = view.bounds
428
+
429
+ rect.origin.y += 20
430
+
431
+ rect.size.height -= 20
432
+
433
+ let barChartView = BarChartView(frame: rect)
434
+
435
+ let entry = [
436
+
437
+ BarChartDataEntry(x: 10, y: 30),
438
+
439
+ BarChartDataEntry(x: 20, y: 20),
440
+
441
+ BarChartDataEntry(x: 30, y: 40),
442
+
443
+ BarChartDataEntry(x: 40, y: 10),
444
+
445
+ BarChartDataEntry(x: 50, y: 30)
446
+
447
+ ]
448
+
449
+ let set = [
450
+
451
+ BarChartDataSet(entries: entry, label: "Data")
452
+
453
+ ]
454
+
455
+ barChartView.data = BarChartData(dataSets: set)
456
+
457
+ view.addSubview(barChartView)
458
+
459
+ }
460
+
461
+ }
462
+
463
+ ```

1

新しい画像の挿入

2019/09/06 05:57

投稿

seiya_0930
seiya_0930

スコア17

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- ![イメー![イメージ説明](85f66e5122af0a37eea41ec5304805f1.png)7d47904db71cc064555909ab0a47816.png)
1
+ ![イメージ説明](c76a94b9a87c2a9ca365b6f6310c7db5.png)![イメー![イメージ説明](85f66e5122af0a37eea41ec5304805f1.png)7d47904db71cc064555909ab0a47816.png)
2
2
 
3
3
  ![イメージ説明](ba81a9e1b0fc3be725eabb5e9b698f66.png)
4
4