如何在Swift中保存一次整数?

时间:2017-01-23 16:38:48

标签: ios swift xcode nsuserdefaults

我正在制作游戏,当用户收集一个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


}

2 个答案:

答案 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")