私はここでこれを尋ねるかなりのスレッドを見てきました。私はいくつかをたどってきて、アプリが殺されて再び開かれた後にこれを保存するようには見えません。ゲームからゲームまで(アプリを殺さずに)、それは適切に保存されます。最高得点を保存
ここに私の最高値変数のインスタンスがあります。私はスタイリングのいくつかを省いて、私はハイスコアを表示します。私はそれが宣言で何かだと感じていますか?
//delarations
var highScore = Int()
var highScoreLabel = UILabel()
//post game
if score > highScore {
saveHighScore()
scoreIsHigher = true
}
//and the function
func saveHighScore() {
let highScoreData = UserDefaults.standard
highScore = score
highScoreData.setValue(highScore, forKey: "highScore")
}
編集: 私は中にロードされているデータをトリガーするものであるように思われ、試合前の状態で、コードのこの部分が欠けた
let highScoreData = UserDefaults.standard
if (highScoreData.object(forKey: "highScore") != nil) {
highScore = highScoreData.value(forKey: "highScore") as! NSInteger!
}
ここでの質問は何ですか?正確にあなたが答えとして何を求めているのか、より具体的になりますか? –
あなたはどこでハイスコアを読み込みますか? – NobodyNada
「saveHighScore」はいつ呼びますか?なぜ 'save(forKey:)'の代わりに 'saveValue(forKey:)'を間違って使うのですか?不必要にKVCを使用しないでください。 – rmaddy