SWIFT - NSTimer,传递用户信息
SWIFT - NSTimer, pass the user info
我正在尝试通过 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 扩展文件中。
我得到的错误是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[App.VC StartAnim]: unrecognized selector sent to instance
如果 StartAdmin 接受一个参数,它应该这样调用:
StartAdmin:
此外,如果您使用的是 Swift 2.2,则应使用新的#selector 方法:
#selector(self.StartAdmin(_:))
如果函数是私有的,则需要添加
@objc
在声明之前,示例
@objc private func someFunc(parameter: AnyObject) { }
我正在尝试通过 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 扩展文件中。
我得到的错误是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[App.VC StartAnim]: unrecognized selector sent to instance
如果 StartAdmin 接受一个参数,它应该这样调用:
StartAdmin:
此外,如果您使用的是 Swift 2.2,则应使用新的#selector 方法:
#selector(self.StartAdmin(_:))
如果函数是私有的,则需要添加
@objc
在声明之前,示例
@objc private func someFunc(parameter: AnyObject) { }