質問: Timer.scheduledTimer(timeInterval: 5.0,target: self,Selector(("changeView")),uerInfo: nil.repeats: false) } override func didReceivememoryWarning(){ super.didReceiveMemoryWarning() } func changeView(){ self,performSegue(withIdentifier: "toGreen",sender: nil") } }
回答: (コードの誤字が多いのでそのままではコンパイルすら通らないとは思いますが・・・) まず、セレクタとして呼ばれる関数には`@objc`キーワードを手動で付けなければいけません。 つまり、`func changeView()`を`@objc func changeView()`としてください。 これを付けないとタイマー関数がchangeView関数を見つけることができません。 あとたぶんどっちでも良い気がしますが、Selector(("changeView"))は`#selector(changeView)`と書いたほうが今どきっぽいと思います。 追記: 自分の環境では`#selector(changeView)`でも警告やエラーがでることはありません。 !イメージ説明