2016-04-01 15 views
0

Im Versuch, die UIView(), obwohl die NSTimer.scheduledTimerWithTimeInterval()SWIFT - NSTimer, die Info-Benutzer übergeben

hier passieren ist ein Code:

_ = NSTimer.scheduledTimerWithTimeInterval((Getsome("Adur") as! Double * 3.0), target: self, selector: "StartAnim", userInfo: ["vie" : bgview as UIView], repeats: true) 


func StartAnim(timer: NSTimer) 
{ 
    let userInfo = timer.userInfo as! Dictionary<String, UIView> 
    GR(userInfo["vie"]!) 
} 

Die NSTimer Aktion wird in einem anderen internen geschieht

Funktion

die GR (vie: UIView) ist privat func

all diese Funktionen sind in separaten Uiviewcontroller extention Datei.

Und der Fehler im bekommen:

App beenden aufgrund nicht abgefangene Ausnahme 'NSInvalidArgumentException', Grund: ‚- [App.VC StartAnim]: Unbekannter Selektor an Instanz gesendet

Antwort

2

Wenn StartAdmin

StartAdmin: 

Außerdem, wenn Sie Swift verwenden 2.2, die neue #selector Methode verwenden sollte: einen Parameter, sollte es so genannt wird

#selector(self.StartAdmin(_:)) 

Wenn die Funktion privat ist, müssen Sie auch

@objc 

Bevor es die Erklärung hinzuzufügen, beispielsweise

@objc private func someFunc(parameter: AnyObject) { }