我正在尝试将参数传递给代码中 NSTimer 调用的方法。它正在抛出异常。我就是这样做的。 Circle 是我的自定义类。
var circle = Circle()
var timer = NSTimer.scheduledTimerWithInterval(1.0, target: self, selector: animate, userInfo: circle, repeats: true)
下面是正在调用的方法
func animate(circle: Circle) -> Void{
//do stuff with circle
}
注意:该方法与被调用的方法位于同一个类中。所以我相信我已经正确设定了目标。
最佳答案
与 NSTimer
一起使用的选择器将传递 NSTimer
对象,因为它是唯一的参数。将圆形对象作为 userInfo
放入其中,您可以在计时器触发时将其提取。
var circle = Circle()
var timer = NSTimer.scheduledTimerWithInterval(1.0, target: self, selector: "animate:", userInfo: circle, repeats: true)
func animate(timer:NSTimer){
var circle = timer.userInfo as Circle
//do stuff with circle
}
关于ios - 在 Swift 中将参数传递给 NSTimer 调用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824056/