質問編集履歴

3

写真の追加とコードにコメントを追加させていただきました。

2021/05/02 11:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,13 @@
2
2
 
3
3
  現在、筋トレアプリを作成しています。トレーニング時間と休憩時間とセット数を入力し、それをタイマーとして使用できるアプリの予定です。
4
4
 
5
- トレーニング時間と休憩時間のタイマーを実装するところまではできたのですが、それをXセット数ループさせる処理を実装させることができず、困っています。
5
+ トレーニング時間と休憩時間のタイマーを実装するところまではできたのですが、それをXセット数ループさせる処理を実装させることができず、困っています。以下に開発中の画像を添付させていただきました。
6
+
7
+
8
+
6
-
9
+ ![イメージ説明](5a4ad4883e83ee88150d1e957e4d34bd.jpeg)
10
+
7
-
11
+ ![イメージ説明](af7d4c2ec0f0c4dbf8d302cc858c0cb8.jpeg)
8
-
9
-
10
12
 
11
13
  ### 試したこと
12
14
 
@@ -62,10 +64,6 @@
62
64
 
63
65
  var RestTime = 0
64
66
 
65
- var one = 1
66
-
67
-
68
-
69
67
 
70
68
 
71
69
  override func viewDidLoad() {
@@ -80,7 +78,7 @@
80
78
 
81
79
  passedSet.text = Passed
82
80
 
83
-
81
+
84
82
 
85
83
  pauseButton.isHidden = true
86
84
 
@@ -108,134 +106,186 @@
108
106
 
109
107
 
110
108
 
109
+ //スタートボタンを押し、一通り処理が終わった際に、規定回数分ループさせたいです。
110
+
111
+ for i in 0...PassedSet {
112
+
113
+ let PassedSet2 = passedSet.text!
114
+
115
+ PassedSet = Int(PassedSet2)!
116
+
117
+
118
+
119
+ if passedSet.text != "0" {
120
+
121
+ mainTimer()
122
+
123
+ RunLoop.current.run()
124
+
125
+ } else {
126
+
127
+ resultTimer.text = Time
128
+
129
+ restTime.text = Rest
130
+
131
+ }
132
+
133
+ }
134
+
135
+ }
136
+
111
137
 
112
138
 
139
+
140
+
141
+ @IBAction func pauseButtonPressed(_ sender: UIButton) {
142
+
143
+ ResumButton.isHidden = false
144
+
145
+ pauseButton.isHidden = true
146
+
147
+
148
+
149
+ self.timer.invalidate()
150
+
151
+ self.timer2.invalidate()
152
+
153
+ }
154
+
155
+
156
+
157
+ @IBAction func finishButtonPressed(_ sender: UIButton) {
158
+
159
+ resultTimer.text = Time
160
+
161
+ restTime.text = Rest
162
+
113
- while PassedSet > 0 {
163
+ passedSet.text = Passed
164
+
165
+
166
+
167
+ startButton.isHidden = false
168
+
169
+ finishButton.isHidden = true
170
+
171
+ pauseButton.isHidden = true
172
+
173
+ ResumButton.isHidden = true
174
+
175
+ self.timer.invalidate()
176
+
177
+ self.timer2.invalidate()
178
+
179
+ }
180
+
181
+
182
+
183
+ @IBAction func ResumeButtonPressed(_ sender: UIButton) {
184
+
185
+ pauseButton.isHidden = false
186
+
187
+ ResumButton.isHidden = true
188
+
189
+
190
+
191
+ if resultTimer.text == "0" {
192
+
193
+ subTimer()
194
+
195
+ }else {
114
196
 
115
197
  mainTimer()
116
198
 
117
- RunLoop.current.run()
199
+
118
200
 
119
201
  }
120
202
 
121
-
122
-
123
- }
203
+ }
124
-
125
-
126
-
204
+
205
+
206
+
127
- @IBAction func pauseButtonPressed(_ sender: UIButton) {
207
+ @IBAction func backButton(_ sender: UIButton) {
128
-
129
- ResumButton.isHidden = false
208
+
130
-
131
- pauseButton.isHidden = true
132
-
133
-
134
-
135
- self.timer.invalidate()
136
-
137
- self.timer2.invalidate()
209
+ self.dismiss(animated: true, completion: nil)
138
-
210
+
139
- }
211
+ }
140
-
141
-
142
-
212
+
213
+
214
+
143
- @IBAction func finishButtonPressed(_ sender: UIButton) {
215
+ @objc func mainTimer () {
216
+
144
-
217
+ // 取得した値をIntに変換
218
+
145
- resultTimer.text = Time
219
+ let time2 = resultTimer.text!
146
-
220
+
147
- restTime.text = Rest
221
+ time = Int(time2)!
222
+
148
-
223
+ let PassedSet2 = passedSet.text!
224
+
149
- passedSet.text = Passed
225
+ PassedSet = Int(PassedSet2)!
150
-
151
-
152
-
153
- startButton.isHidden = false
226
+
154
-
155
- finishButton.isHidden = true
227
+
156
-
228
+
157
- pauseButton.isHidden = true
229
+ //トレーニング時間のタイマー
158
-
230
+
159
- ResumButton.isHidden = true
231
+ timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: { (resultTimer) in
160
-
232
+
161
- self.timer.invalidate()
233
+ self.time -= 1
162
-
163
- self.timer2.invalidate()
234
+
164
-
165
- }
166
-
167
-
168
-
169
- @IBAction func ResumeButtonPressed(_ sender: UIButton) {
170
-
171
- pauseButton.isHidden = false
172
-
173
- ResumButton.isHidden = true
174
-
175
-
176
-
177
- if resultTimer.text == "0" {
235
+ self.resultTimer.text = String(self.time)
178
-
179
- subTimer()
180
-
181
- }else {
182
-
183
- mainTimer()
184
236
 
185
237
 
186
238
 
239
+ if self.time == 0 {
240
+
241
+ self.timer.invalidate()
242
+
243
+ self.PassedSet -= 1
244
+
245
+ self.passedSet.text = String(self.PassedSet)
246
+
247
+ self.vibrate()
248
+
249
+ self.playSound()
250
+
251
+ self.subTimer()
252
+
187
- }
253
+ }
254
+
188
-
255
+ })
256
+
189
- }
257
+ }
190
-
191
-
192
-
193
- @IBAction func backButton(_ sender: UIButton) {
258
+
194
-
195
- self.dismiss(animated: true, completion: nil)
259
+
196
-
197
- }
260
+
198
-
199
-
200
-
201
- @objc func mainTimer () {
261
+ func subTimer() {
202
-
203
- // 取得した値をIntに変換
262
+
204
-
263
+
264
+
205
- let time2 = resultTimer.text!
265
+ let RestTime2 = restTime.text!
206
-
266
+
207
- time = Int(time2)!
267
+ RestTime = Int(RestTime2)!
208
-
268
+
209
- let PassedSet2 = passedSet.text!
269
+ //RestTimeのタイマー
210
-
211
- PassedSet = Int(PassedSet2)!
270
+
212
-
213
-
214
-
215
- timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: { (resultTimer) in
271
+ self.timer2 = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: { (restTime) in
216
-
272
+
217
- self.time -= 1
273
+ self.RestTime -= 1
218
-
274
+
219
- self.resultTimer.text = String(self.time)
275
+ self.restTime.text = String(self.RestTime)
220
-
276
+
221
- print(self.time)
277
+ print(self.time2)
222
278
 
223
279
 
224
280
 
225
- if self.time == 0 {
281
+ if self.RestTime == 0 {
226
-
282
+
227
- self.timer.invalidate()
283
+ self.timer2.invalidate()
228
-
229
- self.PassedSet -= 1
230
-
231
- self.passedSet.text = String(self.PassedSet)
232
284
 
233
285
  self.vibrate()
234
286
 
235
287
  self.playSound()
236
288
 
237
- self.subTimer()
238
-
239
289
  }
240
290
 
241
291
  })
@@ -244,42 +294,6 @@
244
294
 
245
295
 
246
296
 
247
- func subTimer() {
248
-
249
-
250
-
251
- let RestTime2 = restTime.text!
252
-
253
- RestTime = Int(RestTime2)!
254
-
255
- //RestTimeのタイマー
256
-
257
- self.timer2 = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: { (restTime) in
258
-
259
- self.RestTime -= 1
260
-
261
- self.restTime.text = String(self.RestTime)
262
-
263
- print(self.time2)
264
-
265
-
266
-
267
- if self.RestTime == 0 {
268
-
269
- self.timer2.invalidate()
270
-
271
- self.vibrate()
272
-
273
- self.playSound()
274
-
275
- }
276
-
277
- })
278
-
279
- }
280
-
281
-
282
-
283
297
  func playSound() {
284
298
 
285
299
  let url = Bundle.main.url(forResource: "chin", withExtension: "mp3")

2

コードをマークダウンいたしました。

2021/05/02 11:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- ### 試したこと```ここに言語を入力
11
+ ### 試したこと
12
12
 
13
13
  コード
14
14
 

1

コードをマークダウンしました。

2021/05/02 11:23

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,19 +4,15 @@
4
4
 
5
5
  トレーニング時間と休憩時間のタイマーを実装するところまではできたのですが、それをXセット数ループさせる処理を実装させることができず、困っています。
6
6
 
7
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
7
+
8
-
9
-
10
-
11
-
12
-
8
+
9
+
10
+
13
- ### 該当のソースコード
11
+ ### 試したこと```ここに言語を入力
14
-
15
-
16
-
17
- swift
12
+
18
-
19
- ソースコード
13
+ コード
14
+
15
+ ```
20
16
 
21
17
  import UIKit
22
18
 
@@ -304,11 +300,7 @@
304
300
 
305
301
  }
306
302
 
307
-
308
-
309
-
310
-
311
- ### 試したこと
303
+ ```
312
304
 
313
305
 
314
306