私はSwiftの周りに頭を包み込みたい。現在、私は、コードのこの作品がどのように動作するかを理解していない:NSTimer "target":クラスのメソッドを参照するには?
backgroundTimer = NSTimer.scheduledTimerWithTimeInterval(3, target: GameViewController(), selector: "addNext", userInfo: nil, repeats: true)
この文は、基本的には
MyApp.GameViewController addNext]: unrecognized selector sent to instance 0x7b1cd0b0'
私はすべてから呼び出したいGameViewControllerクラスのメソッドを持っているとゲームがクラッシュタイマー付きのシーン。どのように私はgameViewController.addNext()を参照できますか?基本的には"target"
に何を書き込む必要がありますか?ここで
がGameViewController
とaddNext()
方法です:あなたはtarget
ためGameViewController()
を渡すと
class GameViewController: GAITrackedViewController, AVAudioPlayerDelegate {
...
func addNext() {
...
}
}
uはウルは次のメソッドを追加表示することができ –
'の新しい作成されたインスタンスGameViewController'はストーリーボードで設計されたものではありません。それ以外は、デフォルトイニシャライザを使用して*実際の作業* UIViewControllerインスタンスを作成することはできません。 – vadian
Swift 2.2では、セレクタとして文字列を使用しません。この種のエラーを防ぐ新しい構文があります。 – Sulthan