我制作了一个应用程序,在其中保存一个标签,可以使其在我的应用程序中向上或向下移动一个数字。但是,如果我失去了我的应用程序并重新打开它,如果我使标签再次上升,那么它会重置回零并变为一。这是因为我必须将变量值设置为零。这是我的代码:
@IBOutlet var goal: UILabel!
@IBAction func player1button(sender: AnyObject)
{
NSUserDefaults.standardUserDefaults().setValue(goal.text!, forKey:"firstGoal")
}
var goal1 = 0
@IBAction func goalUp(sender: AnyObject)
{
goal1++
goal.text = "\(goal1)"
}
override func viewDidLoad()
{
super.viewDidLoad()
goal.text = (NSUserDefaults.standardUserDefaults().objectForKey("firstGoal") as? String)
}
我正在保存目标号码,然后在文本中稍后将其回调。请告诉我一种修复方法,这样它就可以添加到之前的数字上。
最佳答案
在viewDidLoad()中添加
goal1 = Int((NSUserDefaults.standardUserDefaults().objectForKey("firstGoal") as? String)!)
这会将您用来跟踪目标的 int 变量设置为应用程序加载时的正确值。目前您只是将文本标签设置为正确的值。
关于ios - 保存标签时变量返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34821720/