回答編集履歴

3

追加コードの改変

2020/09/09 04:16

投稿

TsukubaDepot
TsukubaDepot

スコア5086

test CHANGED
@@ -106,13 +106,23 @@
106
106
 
107
107
 
108
108
 
109
+ (2020年9月9日:下記のソースコードは変更されています)
110
+
109
111
  ```Swift
112
+
113
+ var colorCount = 0
114
+
115
+
110
116
 
111
117
  @objc func down() {
112
118
 
113
- // 1 秒に1回 呼び出す
119
+ // 1 秒に1回呼び出す
114
120
 
121
+ colorCount += 1
122
+
115
- if Int((count - count.rounded()) * 100) == 0 {
123
+ if colorCount == 100 {
124
+
125
+ colorCount = 0
116
126
 
117
127
  changeColor()
118
128
 
@@ -120,7 +130,7 @@
120
130
 
121
131
 
122
132
 
123
- if count>=0{
133
+ if count >= 0{
124
134
 
125
135
  count = count - 0.01
126
136
 

2

追記

2020/09/09 04:16

投稿

TsukubaDepot
TsukubaDepot

スコア5086

test CHANGED
@@ -64,6 +64,82 @@
64
64
 
65
65
  }
66
66
 
67
+ ```
68
+
69
+ ##追記
70
+
71
+ ミスが2箇所あります。
67
72
 
68
73
 
74
+
75
+ 色を変更するための関数内で次に色を変えたいセルの番号を作る際、`let`をつけて宣言してしまっているため、同名でスコープの違う変数となってしまっています。今回の場合`let`は必要ありません。
76
+
77
+
78
+
79
+ ```Swift
80
+
81
+ @objc func changeColor() {
82
+
83
+ // let をつけると、changeColor() 関数内部だけで有効な変数となってしまう。
84
+
85
+ //let redCellIndex: Int = Int.random(in: 0..<12)
86
+
87
+ redCellIndex = Int.random(in: 0..<12)
88
+
89
+ collectionView.reloadData()
90
+
91
+ }
92
+
69
93
  ```
94
+
95
+
96
+
97
+ また、上記の関数を呼び出している部分がありません。
98
+
99
+
100
+
101
+ おそらく、以前はタイマ割り込みで呼び出していたのだと思いますが、残り秒数をカウントダウンする関数を呼び出すように変更した際、誤って消してしまったのだと思います。
102
+
103
+
104
+
105
+ 1秒に1回更新するのであれば、たとえば`down()`の中から色のついたセルを変更するようにする方法もありますし、タイマのインスタンスを2つ作る方法もあるかと思います。
106
+
107
+
108
+
109
+ ```Swift
110
+
111
+ @objc func down() {
112
+
113
+ // 1 秒に1回 呼び出す
114
+
115
+ if Int((count - count.rounded()) * 100) == 0 {
116
+
117
+ changeColor()
118
+
119
+ }
120
+
121
+
122
+
123
+ if count>=0{
124
+
125
+ count = count - 0.01
126
+
127
+ timerLabel.text = String(format: "%.2f",count)
128
+
129
+ }else{
130
+
131
+ if timer.isValid{
132
+
133
+ timer.invalidate()
134
+
135
+ timerLabel.text = "Finish"
136
+
137
+ // point = point+0
138
+
139
+ }
140
+
141
+ }
142
+
143
+ }
144
+
145
+ ```

1

タグの変更

2020/09/07 05:24

投稿

TsukubaDepot
TsukubaDepot

スコア5086

test CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- - [Swift Xcode Cell
6
-
7
- ](https://teratail.com/questions/278363)
5
+ - [Swift Xcode Cell](https://teratail.com/questions/278363)
8
6
 
9
7
 
10
8