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

回答編集履歴

2

0

2019/11/20 02:56

投稿

takabosoft
takabosoft

スコア8356

answer CHANGED
@@ -4,4 +4,10 @@
4
4
  つまり、`func changeView()`を`@objc func changeView()`としてください。
5
5
  これを付けないとタイマー関数がchangeView関数を見つけることができません。
6
6
 
7
- あとたぶんどっちでも良い気がしますが、Selector(("changeView"))は`#selector(changeView)`と書いたほうが今どきっぽいと思います。
7
+ あとたぶんどっちでも良い気がしますが、Selector(("changeView"))は`#selector(changeView)`と書いたほうが今どきっぽいと思います。
8
+
9
+ ----
10
+ 追記:
11
+ 自分の環境では`#selector(changeView)`でも警告やエラーがでることはありません。
12
+
13
+ ![イメージ説明](f6a333cb4d18fb06eb134d12c3b94d5c.png)

1

0

2019/11/20 02:56

投稿

takabosoft
takabosoft

スコア8356

answer CHANGED
@@ -1,7 +1,7 @@
1
- コードの誤字が多いのでそのままではコンパイルすら通らないとは思いますが
1
+ コードの誤字が多いのでそのままではコンパイルすら通らないとは思いますが・・・)
2
+ まず、セレクタとして呼ばれる関数には`@objc`キーワードを手動で付けなければいけません。
2
3
 
3
- ポイントとしてセレクタとして呼ばれる関数には`@objc`キーワードを手動で付けなければいけません。
4
-
5
4
  つまり、`func changeView()`を`@objc func changeView()`としてください。
5
+ これを付けないとタイマー関数がchangeView関数を見つけることができません。
6
6
 
7
7
  あとたぶんどっちでも良い気がしますが、Selector(("changeView"))は`#selector(changeView)`と書いたほうが今どきっぽいと思います。