我使用 NSTimer 每 1 秒重复一个函数。我使用scheduledTimerWithTimeInterval
方法的userInfo
参数。我需要更新这个中的数据userInfo
。
override func viewDidLoad() {
super.viewDidLoad()
NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "minus:", userInfo: ["number": 100], repeats: true)
}
func minus(timer: NSTimer) {
var userInfo = timer.userInfo as! Dictionary <String, Int>
println(userInfo["number"]!)
userInfo["number"] = userInfo["number"]! - 1
}
我希望打印的是 100 99 98 97。但是当代码运行时我得到 100 100 100 100。
当函数minus
第一次运行时,我想我已经将 userInfo 的数据从 100 更改为 99。但是userInfo
当函数第二次运行时,我的数据仍然是 100 minus
。
如何更新userInfo
的数据?
谢谢你。