【问题标题】:NSUserDefaults valueForKey errorNSUserDefaults valueForKey 错误
【发布时间】:2016-06-14 06:03:53
【问题描述】:

我正在尝试在一个简单的游戏中保存一个高分。我是 swift 2 的新手,不知道我做错了什么。我收到错误消息“‘int’类型的值没有‘valueForKey’的成员。这是我上次尝试失败时的代码。

var highScoreDefault = NSUserDefaults.standardUserDefaults()

    if(highScoreDefault.valueForKey("highScore") != nil){
        highScore = highScore.valueForKey("highScore") as NSInteger! //error here
    }


  newFunc
        score += 1
        if (score > highScore){
            highScore = score
            var highScoreDefault = NSUserDefaults.standardUserDefaults()
            highScoreDefault.setValue(highScore, forKey: "highScore")
            highScoreDefault.synchronize()
        }
        highscoreLbl.text = "\(highScore)"

【问题讨论】:

    标签: swift swift2 nsuserdefaults


    【解决方案1】:

    你必须像这样保存它:NSUserDefaults.standardUserDefaults().setInteger(highScore, forKey: "highScore")

    然后像这样检索它:var highScore: Int = NSUserDefaults.standardUserDefaults().integerForKey("highScore")

    【讨论】:

      【解决方案2】:
      let defaults = NSUserDefaults.standardUserDefaults()
      defaults.setValue(value, forKey: "highScore")
      

      Apple 建议仅在应用程序即将退出等特殊情况下调用 synchronize()。

      synchronize() 方法,定期自动调用 间隔,使内存中的缓存与用户的默认值保持同步 数据库。

      【讨论】:

        【解决方案3】:

        在 NSUserDefault 中设置值非常简单

        NSUserDefaults.standardUserDefaults().setInteger(yourScore, forKey: "highScore")
        NSUserDefaults.standardUserDefaults().synchronize()
        

        【讨论】:

          【解决方案4】:

          试试这个:

          let highScoreDefault = NSUserDefaults.standardUserDefaults()
          
          //Set
          highScoreDefault.setInteger(yourInt, forKey: "intKey")
          highScoreDefault. synchronize()
          
          //Get
          highScoreDefault.integerForKey("intKey")
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-02-14
            • 1970-01-01
            • 2017-01-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多