Swift 在其他场景中调用默认值

Swift 在其他场景中调用默认值,swift,sprite-kit,scene,Swift,Sprite Kit,Scene,我听从了这个建议。我现在有 class GameOverScene: SKScene { var score = 0 override func didMoveToView(view: SKView) { NSUserDefaults.standardUserDefaults().integerForKey("highscore") if score > NSUserDefaults.standardUserDefaults().integerForKey("high

我听从了这个建议。我现在有

class GameOverScene: SKScene {

var score = 0

override func didMoveToView(view: SKView) {


   NSUserDefaults.standardUserDefaults().integerForKey("highscore")

   if score > NSUserDefaults.standardUserDefaults().integerForKey("highscore") {
      NSUserDefaults.standardUserDefaults().setInteger(score, forKey: "highscore")
      NSUserDefaults.standardUserDefaults().synchronize()
   }

   NSUserDefaults.standardUserDefaults().integerForKey("highscore")

   }
}
我有更多的代码,当满足某个参数时,会给分数加1。但我的问题是如何在另一个场景中回忆起(“highscore”)键。当游戏结束时,另一个场景被称为GameOverScene

class GameOverScene: SKScene {

var gameOverLabel = SKLabelNode()

override func didMoveToView(view: SKView) {

    gameOverLabel.text = //here I want the highScore to be displayed
    gameOverLabel.fontColor = UIColor.blackColor()
    gameOverLabel.fontName = "Helvetica"
    gameOverLabel.fontSize = 100
    gameOverLabel.position = CGPointMake(frame.midX, frame.midY)
    self.addChild(gameOverLabel)

   }
}
我要怎么做才能将最高分添加到我的场景中

NSUserDefaults.standardUserDefaults().integerForKey("highscore")
什么也不做(两次)。您可以通过将值分配给变量,从用户默认值中检索值,例如显示值

let score = NSUserDefaults.standardUserDefaults().integerForKey("highscore")
label.text = "\(score)"
您可以设置它,就像您在
if
闭包的第一行中所做的那样

线路

NSUserDefaults.standardUserDefaults().integerForKey("highscore")
什么也不做(两次)。您可以通过将值分配给变量,从用户默认值中检索值,例如显示值

let score = NSUserDefaults.standardUserDefaults().integerForKey("highscore")
label.text = "\(score)"

您可以设置它,就像您在
if
闭包的第一行中所做的那样

只需调用
NSUserDefaults.standardUserDefaults().IntegerWorkey(“highscore”)
?只需调用
NSUserDefaults.standardUserDefaults().IntegerWorkey(“highscore”)
?但我可以在另一个场景中检索它们吗。例如,我的游戏场景中有
let score=NSUserDefaults.standardUserDefaults().IntegerWorkey(“highscore”)
,但我想在我的游戏场景中显示它。这似乎不起作用。您的代码没有显示它们,因为您没有将读取值指定给变量。但是我可以在另一个场景中检索它们吗。例如,我的游戏场景中有
let score=NSUserDefaults.standardUserDefaults().IntegerWorkey(“highscore”)
,但我想在我的游戏场景中显示它。这似乎不起作用。您的代码没有显示它们,因为您没有将读取值赋给变量。