Ich möchte einen NSTimer in einer Klasse verwenden, die nicht von UIViewVontroller erbt. Ich habe 2 Dateien: ein Viewcontroller und ein TimerClass wie folgt aus:NSTimer kann Selektor nicht finden
Viewcontroller:
import UIKit
class ViewController: UIViewController {
var timerClass = TimerClass()
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
timerClass.launchTimer()
}
}
TimerClass:
import Foundation
class TimerClass {
var timer = NSTimer()
init(){}
func launchTimer(){
var timer = NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: "timerEnd", userInfo: nil, repeats: true)
}
func timerEnd(){
println("That worked")
}
}
Als ich diese App starten, ich habe einen Absturz mit:
2015-01-12 19: 48: 24.322 Timer_TEST [5829: 185651] *** NSForwarding: Warnung: Objekt 0x7fbc3be20710 der Klasse 'Timer_TEST.TimerClass' implementiert methodSignatureForSelector nicht: - trouble ahead Nicht erkannter Wahlschalter - [Timer_TEST.supportFile timerEnd]
Irgendeine Idee?
Danke
Ich weiß sehr wenig über Swift, aber es fragt nach einer Methode und es ist nicht in Ihrer benutzerdefinierten Klasse implementiert ... könnten Sie es versuchen? –
Sie sollten 'var timer' nicht in der Funktion' launchTimer' verwenden, sondern nur 'timer', weil Sie Zugriff auf die Eigenschaft haben wollen, oder? –