如何持久保存变量

时间:2019-04-19 10:39:37

标签: ios swift xcode

我脑子里有一个问题:如何保存变量? 当用户离开游戏时,必须保存此变量。

var lvlNumber : Int =  1 

实际上,此变量允许知道玩家的等级。但是,目前,当用户打开游戏时,此变量始终等于1。

但是,不应该这样,因为当玩家赢得关卡时,lvlNumber会增加。这就是为什么我必须将此变量保存在存储中。

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

您可以使用UserDefaults保存少量数据。

答案 1 :(得分:1)

例如;

Swift 5

String or nil

UserDefaults.standard.set("password", forKey: "x")  // you are saving(set) keys "x"

Int

 UserDefaults.standard.defaults.set(25, forKey: "Age")

Bool

 UserDefaults.standard.defaults.set(true, forKey: "UseTouchID")

并读取此数据;

String

 if UserDefaults.standard.value(forKey: "x") as! String? != nil {
     let value = UserDefaults.standard.value(forKey: "x") as! String
     print(value) // password
 }

答案 2 :(得分:0)

您可以使用userdefaults来存储它,如下所示:

UserDefaults.standard.set(lvlNumber, forKey: "savedLevelNumber")

像这样读取此变量:

if let savedLevel = UserDefaults.standard.value(forKey: "savedLevelNumber") {
   self.lvlNumber = savedLevel
}

您还可以使用Keychain来读取/写入值。