SWIFT - NSTimer,传递用户信息

时间:2016-04-01 14:48:28

标签: ios swift uiview nstimer

我试图通过NSTimer.scheduledTimerWithTimeInterval()传递UIView()

这是一个代码:

 _ = 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行动正在另一个内部功能

中发生 GR(vie:UIVIew)是私人功能

所有这些函数都在单独的UIVIewController扩展文件中。

错误即将到来:

  

由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [App.VC StartAnim]:无法识别的选择器发送到实例

1 个答案:

答案 0 :(得分:2)

如果StartAdmin接受一个参数,则应该调用它:

StartAdmin:

此外,如果您使用的是Swift 2.2,则应使用新的#selector方法:

#selector(self.StartAdmin(_:))

如果该功能是私人的,您需要添加

@objc 

在宣布之前,例如

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