teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正1

2019/01/05 23:49

投稿

hameji001
hameji001

スコア639

answer CHANGED
@@ -17,10 +17,15 @@
17
17
  どの行にも意味があります。
18
18
 
19
19
  ``` Swift
20
+ self.timer = Timer.scheduledTimer(timeInterval: 2, ...
21
+
22
+
23
+ @objc func onTimer(_ timer: Timer) {
20
- if timer.isValid == true {
24
+ if timer.isValid == true {
21
- timer.invalidate()
25
+ timer.invalidate()
22
- } else {
26
+ } else {
23
- // ここに表示の絵を変えるコード
27
+ // ここに表示の絵を変えるコード
28
+ }
24
29
  }
25
30
  ```
26
31
 

1

追記

2019/01/05 23:49

投稿

hameji001
hameji001

スコア639

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