我试图通过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]:无法识别的选择器发送到实例
答案 0 :(得分:2)
如果StartAdmin接受一个参数,则应该调用它:
StartAdmin:
此外,如果您使用的是Swift 2.2,则应使用新的#selector方法:
#selector(self.StartAdmin(_:))
如果该功能是私人的,您需要添加
@objc
在宣布之前,例如
@objc private func someFunc(parameter: AnyObject) { }