我正在制作游戏,当用户收集一个orb时,我希望它保存在一个镜片中,但只有一次。我得到它来保存标签中的整数但需要帮助,不要让orb被保存多次。这是我使用的代码:
if firstBody.categoryBitMask == HeroCategory && secondBody.categoryBitMask == OrbCategory {
//saves orbs
UserDefaults().set(UserDefaults().integer(forKey: "saveOrbs")+1, forKey:"saveOrbs")
UserDefaults().integer(forKey: "saveOrbs").description
orbLabel.text = UserDefaults().integer(forKey: "saveOrbs").description
}
答案 0 :(得分:4)
在设置之前尝试检查密钥
if UserDefaults.standard.value(forKey: "haveSavedOrb") == nil {
UserDefaults.standard.set(true, forKey: "haveSavedOrb")
UserDefaults.standard.set(orbs + 1, forKey: "saveOrbs")
}
答案 1 :(得分:0)
在Swift 3中:
为键100
MyInt
UserDefaults.standard.set(100, forKey: "MyInt")
稍后检索MyInt
的值。
let myInt = UserDefaults.standard.integer(forKey: "MyInt")