2016-06-14 9 views
1

Ich versuche, einen Highscore in einem einfachen Spiel zu speichern. Ich bin neu bei swift 2 und nicht sicher, was ich falsch mache. . Ich bin die Störung zu erhalten, dass „Wert vom Typ‚int‘kein Mitglied hat für‚ValueForKey‘Hier ist mein Code als mein letzten unsuccesful VersuchsNSUserDefaults valueForKey Fehler

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)" 

Antwort

0

es ist sehr einfach zu setzen Wert in NSUserDefault

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

Versuchen Sie diesen:.

let highScoreDefault = NSUserDefaults.standardUserDefaults() 

//Set 
highScoreDefault.setInteger(yourInt, forKey: "intKey") 
highScoreDefault. synchronize() 

//Get 
highScoreDefault.integerForKey("intKey") 
1

Sie müssen es wie sparen: NSUserDefaults.standardUserDefaults().setInteger(highScore, forKey: "highScore")

und abrufen es mögen: var highScore: Int = NSUserDefaults.standardUserDefaults().integerForKey("highScore")

1
let defaults = NSUserDefaults.standardUserDefaults() 
defaults.setValue(value, forKey: "highScore") 

Apple empfiehlt, nur Anruf synchronisieren() unter besonderen Umständen, wie wenn die App etwa zu verlassen.

Die Synchronisierungs() Methode, die automatisch in periodischen Intervallen aufgerufen wird, hält den in-Cache-Speicher synchron mit einem Standardeinstellungen des Benutzers Datenbank.