2016-04-01 2 views
0

Im пытается передать UIView(), хотя NSTimer.scheduledTimerWithTimeInterval()SWIFT - NSTimer, передать информацию о пользователе

вот код:

_ = 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"]!) 
} 

Действие NSTimer происходит в другой внутренний функция

ГР (ви: UIView) является приват функ

все эти функции находятся в отдельном файле UIViewController Удлинитель.

И им ошибка при получении:

Нагрузочного приложение из-за неперехваченное исключение 'NSInvalidArgumentException', причина: «- [App.VC StartAnim]: непризнанный селектор направлен например

ответ

2

Если StartAdmin принимает параметр, он должен называться как:

StartAdmin: 

Кроме того, если вы используете Swift 2.2, вы должны использовать новый метод #selector:

#selector(self.StartAdmin(_:)) 

Если функция является частным, вам нужно будет добавить

@objc 

, прежде чем он декларации, а также, например,

@objc private func someFunc(parameter: AnyObject) { } 
Смежные вопросы