【问题标题】:How to use User Default?如何使用用户默认值?
【发布时间】:2017-08-24 20:37:06
【问题描述】:

对不起,如果这是一个新手问题,我对 iOS 和 Swift 很陌生。我已经在网上看到了如何使用 User Default,但我不知道如何将其插入到我的项目中:

@IBOutlet weak var labelScore: UILabel!
var score = 0
let scoreUserDefault = UserDefaults.standard


@IBAction func button(_ sender: Any) {
    score += 1
    labelScore.text = String(score)
    print(score)
}


override func viewDidLoad() {
    super.viewDidLoad()

    if let score = scoreUserDefault.value(forKey: "best") as? Int {
        self.score = score
    }
}

我的项目没有存储分数,这是我预期的。

【问题讨论】:

  • 您必须在递增后设置该值。顺便说一句,您应该使用integer(forKey:) 方法来检索它。
  • 有什么问题?

标签: ios swift nsuserdefaults userdefaults


【解决方案1】:

欢迎来到斯威夫特

//你应该首先存储价值

// 这也是那部分的好课 https://www.hackingwithswift.com/example-code/system/how-to-save-user-settings-using-userdefaults

  @IBOutlet weak var labelScore: UILabel!
    var score = 0
    let scoreUserDefault = UserDefaults.standard


    @IBAction func button(_ sender: Any) {
        score += 1
        labelScore.text = String(score)

    //  you should store value  sta key
        scoreUserDefault.set(score, forKey: "best")


        print(score)
    }


    override func viewDidLoad() {
        super.viewDidLoad()

        if let score = scoreUserDefault.integer(forKey: "best"){
            self.score = score
        }
    }

【讨论】:

  • @Edoardo de Cal 检查上面的简单教程以了解有关该部分的更多信息
  • 不要对键使用值。使用正确的方法
  • developer.apple.com/documentation/foundation/userdefaults/… 它不返回可选项。如果键值不存在,则返回零。 score = scoreUserDefault.integer(forKey: "best")
猜你喜欢
  • 1970-01-01
  • 2015-08-25
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多