Ios 如何在Swift中递增和保存int值?
我试图记录用户在我的游戏中输了多少次。因此,每损失一次,它就会上升1。我还想保存它,这样用户就可以看到他们总共丢失了多少次。现在我的代码在第一次运行时变为1,但如果我在游戏中输了,它只会保持在1。我做错了什么?谢谢Ios 如何在Swift中递增和保存int值?,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,我试图记录用户在我的游戏中输了多少次。因此,每损失一次,它就会上升1。我还想保存它,这样用户就可以看到他们总共丢失了多少次。现在我的代码在第一次运行时变为1,但如果我在游戏中输了,它只会保持在1。我做错了什么?谢谢 class level1: SKScene, SKPhysicsContactDelegate, GKGameCenterControllerDelegate { var deathScore = 0 override func didMoveToVi
class level1: SKScene, SKPhysicsContactDelegate, GKGameCenterControllerDelegate {
var deathScore = 0
override func didMoveToView(view: SKView) {
var deathLabel = SKLabelNode()
deathLabel = SKLabelNode(fontNamed: "LadyIce-3D")
deathLabel.text = "100"
deathLabel.zPosition = 14
deathLabel.fontSize = 100
deathLabel.fontColor = SKColor.darkTextColor()
deathLabel.position = CGPointMake(self.size.width / 1.1, self.size.height / 1.4)
deathLabel.hidden = true
self.addChild(deathLabel)
}
if firstBody.categoryBitMask == HeroCategory && fourthBody.categoryBitMask == GameOverCategory {
deathScore++
deathLabel.hidden = false
let defaults = NSUserDefaults()
let saveDeaths = NSUserDefaults().integerForKey("saveNumberOfDeaths")
if(deathScore > saveDeaths)
{
NSUserDefaults().setInteger(saveDeaths, forKey: "saveNumberOfDeaths")
}
var showNumberOfDeaths = defaults.integerForKey("saveNumberOfDeaths")
deathLabel.text = String(showNumberOfDeaths)
}
}
您每次都在声明一个新的var deathScore,用0初始化并递增它。它将永远是1
UserDefaults.standard.set(UserDefaults.standard.integer(forKey: "saveNumberOfDeaths")+1, forKey: "saveNumberOfDeaths")
deathLabel.text = String(UserDefaults.standard.integer(forKey: "saveNumberOfDeaths"))
如果你发布相关代码,我可以尝试帮助你。看到更新仍然得到1…当我一次又一次地失败时,它不会改变。由于某种原因,它卡在了1上。我在op中发布了完整的代码。我没有其他任何东西。你每次都将0分配给deathScore。我必须将其设置为1?将deathScore移动到GameViewController类