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
、関数が 2 回目に実行されたとき、 のデータはまだ 100minus
です。
userInfo
のデータを更新するにはどうすればよいですか?
ありがとうございました。