gpt4 book ai didi

ios - 使用 NSTimer 时如何更改 userInfo 中的数据?

转载 作者:行者123 更新时间:2023-11-29 10:28:59 24 4
gpt4 key购买 nike

我使用 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 的数据?

谢谢。

最佳答案

我很惊讶这不是构建错误/崩溃,因为 userInfo 是只读的。

你可以把它变成一个 NSMutableDictionary 这样你就不会改变 userInfo 指针你只是改变它指向的对象的内容,但我会说真的你应该只使用一个实例变量......

关于ios - 使用 NSTimer 时如何更改 userInfo 中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30645270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com