我有一个计时器调用一个方法,需要有两个引用其他变量(重力和玩家)
func update(inout gravity: CGVector, inout player: Player) {
timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: Selector("myMethod"), userInfo: gravity, repeats: true) // Here I get the error: extra argument 'selector' in call
}
func myMethod() {
println(timer.userInfo.gravity.dx)
}
虽然上面的内容适用于内容或常规变量,但当我尝试传递一个指针或一个inout变量时,我会得到错误"额外的参数'选择器'在电话"。如何将对变量的引用传递给myMethod?
答案 0 :(得分:0)
不使用选择器尝试:
timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: "myMethod", userInfo: gravity, repeats: true)
这是适合我的格式。此外,在我的测试中,如果您将gravity
作为userInfo
传递,将gravity
作为memory
属性传递,则可以像这样访问它:
func myMethod() {
println(timer.userInfo.memory)
}