使用NSUserDefaults显示分数

时间:2015-06-19 20:25:55

标签: ios swift

我正在使用NSUserDefaults显示我GameSceneresetViewController的分数。问题是,如果用户没有得分,它将显示玩家的最后得分。

在GameScene中

var score: Int = 0
var scoreLabel = SKLabelNode()
let defaults = NSUserDefaults.standardUserDefaults()

score++
scoreLabel.text = "\(score)"
defaults.setObject(scoreLabel.text, forKey: "scoring")

在resetViewController中

var score = defaults().stringForKey("scoring")
YourScore.text = score

我确定它很简单,但我似乎无法弄清楚

3 个答案:

答案 0 :(得分:1)

当你需要得分重置时,只需致电

NSUserDefaults.standardUserDefaults().setObject(nil, forKey: "scoring")

答案 1 :(得分:0)

>>> d = range(10) >>> sys.getsizeof(d) 152 >>> d[0] = 'text' >>> sys.getsizeof(d) 152 >>> d ['text', 1, 2, 3, 4, 5, 6, 7, 8, 9] 从NSUserDefaults中删除值。您也可以将其设置为零。或者只是不使用NSUserDefaults - 使用它没有多大意义,除非您需要在重新启动应用程序之间保持值。

答案 2 :(得分:0)

我建议保存整数,而不是字符串。这样,默认值为零,您可以通过将键设置为零来轻松重置分数。

NSUserdefaults.standardUserDefaults().IntegerForKey("score")
NSUserdefaults.standardUserDefaults().setInteger(0, forKey: "score")