Ich versuche, meinen Kopf um Swift zu wickeln. Zur Zeit verstehe ich nicht, wie das Stück Code funktionieren soll:NSTimer "target": Wie wird auf eine Methode einer Klasse verwiesen?
backgroundTimer = NSTimer.scheduledTimerWithTimeInterval(3, target: GameViewController(), selector: "addNext", userInfo: nil, repeats: true)
Diese Aussage stürzt das Spiel mit
MyApp.GameViewController addNext]: unrecognized selector sent to instance 0x7b1cd0b0'
Im Prinzip habe ich eine Methode in GameViewController Klasse, die ich von allen nennen möchte Szenen mit einem Timer. Wie kann ich gameViewController.addNext() referenzieren? Grundsätzlich was soll ich in "target"
eingeben?
Hier ist die GameViewController
und addNext()
Methode:
class GameViewController: GAITrackedViewController, AVAudioPlayerDelegate {
...
func addNext() {
...
}
}
kann u zeigen ur nächste Methode hinzufügen –
Die neu erstellte Instanz von ' GameViewController ist sicherlich nicht das, was im Storyboard entworfen wurde. Abgesehen davon können Sie keine * real arbeitende * UIViewController-Instanz mit dem Standardinitialisierer erstellen. – vadian
In Swift 2.2 verwenden Sie keine Zeichenfolgen als Selektoren. Es gibt eine neue Syntax, die diese Art von Fehlern verhindert. – Sulthan