2016-03-26 11 views
0

Im Versuch, eine App zu bauen, und wenn der Bildschirm zum ersten Mal berührt wird, startet ein NSTimer, aber mit einem NSTimer innerhalb der Berührungen begann Funktion Ich bekomme ein Signal sigbart Fehler. Wenn jemand alternative Methoden hat, um das gleiche Ergebnis zu erzielen, würde ich es begrüßen.Signal SIGBART Fehler bei der Verwendung NSTimer innerhalb einer Berührungen begann Funktion

Das ist mein Grund aktueller Code

var condition = 0 

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 

    if(condition == 1) { 
    timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("timerUpdate"), userInfo: nil, repeats: true) 
    } 

    cat.physicsBody?.velocity = CGVectorMake(0, 0) 
    cat.physicsBody?.applyImpulse(CGVectorMake(0, 1)) 


} 

Antwort

1

Sie haben die Funktion timerUpdate für den Selektor hinzuzufügen.

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    if(condition == 1) { 
     timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("timerUpdate"), userInfo: nil, repeats: true) 
    } 

    cat.physicsBody?.velocity = CGVectorMake(0, 0) 
    cat.physicsBody?.applyImpulse(CGVectorMake(0, 1)) 
} 

func timerUpdate(){ 
    print("timerUpdate") 
} 
+1

LOL danke so viel ich fühle mich irgendwie dumm für das nicht tun, aber oh well. Jedenfalls vielen Dank. –