質問編集履歴

2

先の実装したコードに誤りがあり修正するため。

2021/05/31 00:33

投稿

Tomzy
Tomzy

スコア104

test CHANGED
File without changes
test CHANGED
@@ -170,7 +170,7 @@
170
170
 
171
171
 
172
172
 
173
- //第1画面上段に記載する解説文章英語、日本語120個をLocalizedStringKeyで整列させるためのArray定義
173
+ //第1画面上段に記載する解説文章英語、日本語120個をLocalizedStringKeyで整列させるためのArray定義
174
174
 
175
175
  let array:[LocalizedStringKey] = [
176
176
 
@@ -182,7 +182,9 @@
182
182
 
183
183
 
184
184
 
185
- //秒針が5秒進むごとにArrayのidを上げて指定する順番を定義する
185
+ //秒針が5秒進むごとにArrayのidを上げて指定する順番を定義する
186
+
187
+
186
188
 
187
189
  func getTextId() -> Int {
188
190
 
@@ -190,14 +192,16 @@
190
192
 
191
193
  let elapsed = self.stopWatchManager.secondsElapsed/5
192
194
 
195
+ //その計算結果をIntにする
196
+
197
+ let elapsedInt = Int(elapsed)
198
+
193
- //そのIntを120で割った残り⇨ 121回目以降Arrayが元にもどる
199
+ //その結果を120で割った残りを算出し、121回目以降Arrayが元にもどるようにする
194
-
200
+
195
- let reminder = elapsed.truncatingRemainder(dividingBy: 120)
201
+ let index = elapsedInt % 120
196
202
 
197
203
  //表示の時にArrayの順番を示す
198
204
 
199
- let index = Int(reminder)
200
-
201
205
  return index
202
206
 
203
207
  }

1

TakeOneさんのアンサーにもとづきコードを実装して、成功裏にテキストを表示できましたので、そのコードを掲載します。

2021/05/31 00:33

投稿

Tomzy
Tomzy

スコア104

test CHANGED
File without changes
test CHANGED
@@ -159,3 +159,75 @@
159
159
  * Xcode Version  12.5 (12E262)
160
160
 
161
161
  * SwiftUI
162
+
163
+
164
+
165
+ ### TakeOneさんのアンサーにもとづき実装したコード
166
+
167
+
168
+
169
+ ```
170
+
171
+
172
+
173
+ //第1画面上段に記載する解説文章英語、日本語120個をLocalizedStringKeyで整列させるためのArray定義
174
+
175
+ let array:[LocalizedStringKey] = [
176
+
177
+ "text001", "text002", "text003", "text004", "text005",
178
+
179
+ //中略
180
+
181
+ ]
182
+
183
+
184
+
185
+ //秒針が5秒進むごとにArrayのidを上げて指定する順番を定義する。
186
+
187
+ func getTextId() -> Int {
188
+
189
+ //経過時間を5秒で割ったIntを算出
190
+
191
+ let elapsed = self.stopWatchManager.secondsElapsed/5
192
+
193
+ //そのIntを120で割った残り⇨ 121回目以降Arrayが元にもどる
194
+
195
+ let reminder = elapsed.truncatingRemainder(dividingBy: 120)
196
+
197
+ //表示の時にArrayの順番を示す
198
+
199
+ let index = Int(reminder)
200
+
201
+ return index
202
+
203
+ }
204
+
205
+
206
+
207
+ //中略
208
+
209
+
210
+
211
+ //01上段の120個の解説テキストをArrayで表示する。getTexIdは順番。121個目以降は元に戻り繰り返す。
212
+
213
+ Group {
214
+
215
+ Text(array[getTextId()])
216
+
217
+ .padding()
218
+
219
+ .border(Color.yellow, width: 5)
220
+
221
+ .cornerRadius(3)
222
+
223
+ }
224
+
225
+ ```
226
+
227
+
228
+
229
+ 表示された画面
230
+
231
+
232
+
233
+ ![イメージ説明](8186c704387ab2ed242e021cd53760f0.png)