回答編集履歴

2

修正1

2019/01/05 23:49

投稿

hameji001
hameji001

スコア639

test CHANGED
@@ -36,13 +36,23 @@
36
36
 
37
37
  ``` Swift
38
38
 
39
- if timer.isValid == true {
39
+ self.timer = Timer.scheduledTimer(timeInterval: 2, ...
40
40
 
41
- timer.invalidate()
42
41
 
43
- } else {
44
42
 
43
+
44
+
45
+ @objc func onTimer(_ timer: Timer) {
46
+
47
+ if timer.isValid == true {
48
+
49
+ timer.invalidate()
50
+
51
+ } else {
52
+
45
- // ここに表示の絵を変えるコード
53
+ // ここに表示の絵を変えるコード
54
+
55
+ }
46
56
 
47
57
  }
48
58
 

1

追記

2019/01/05 23:49

投稿

hameji001
hameji001

スコア639

test CHANGED
@@ -1,6 +1,4 @@
1
- コード確認しました。
1
+ コード確認しました。概ねできていますね。
2
-
3
- 概ねできていますね。
4
2
 
5
3
 
6
4
 
@@ -8,9 +6,47 @@
8
6
 
9
7
  分ける時のために、グローバル変数を利用してください。
10
8
 
11
- そして、1回目押すときはtimeInterval: 2、1回目以降は
9
+ そして、1回目押すときはtimeInterval: 2
12
10
 
11
+ 1回目以降はtimeIntervalを1とか0.5とかに
12
+
13
- timeIntervalを、1とか、0.5とかにすればより早く再生できるようになると思います。
13
+ すればより早く再生できるようになると思います。
14
+
15
+
16
+
17
+ Timerを止めるためには、Timerを取得しないといけなくなるので、
18
+
19
+ 以下のURLの「オブジェクトを保持する」のところを参考に
20
+
21
+ プロパティを作成しないといけなくなります。
22
+
23
+ https://qiita.com/KikurageChan/items/5b33f95cbec9e0d8a05f
24
+
25
+
26
+
27
+ と書いたところで、YutoMさんのコードに
28
+
29
+ var timer : Timer!が設定されているが使われてないことに気づきました。
30
+
31
+ コピペするだけでなく、よくコードを噛み砕いてください。
32
+
33
+ どの行にも意味があります。
34
+
35
+
36
+
37
+ ``` Swift
38
+
39
+ if timer.isValid == true {
40
+
41
+ timer.invalidate()
42
+
43
+ } else {
44
+
45
+ // ここに表示の絵を変えるコード
46
+
47
+ }
48
+
49
+ ```
14
50
 
15
51
 
16
52