Я использую NSUserDefaults (StackOverflow link), чтобы сохранить высокий балл в iOS Swift (Sprite Kit).Целое число меняется на 0 после init
Он заявил так:
var savedScore: Int = NSUserDefaults.standardUserDefaults().objectForKey("hiScore") as! Int
Это возвращает к примеру '2', как высокий балл.
Если высокий балл получает избили меня сделать это:
if self.score > self.savedScore {
NSUserDefaults.standardUserDefaults().setObject(self.score, forKey:"hiScore")
NSUserDefaults.standardUserDefaults().synchronize()
println("Synced")
}
Однако, проблема заключается в том, что self.savedScore
становится 0
после начального значения 2
, в результате чего высокий балл, чтобы спастись после каждой игры, так как каждый возможный балл выше, чем 0
.
Дополнительный код может быть предоставлен при необходимости для этого вопроса.
Спасибо!
Что вы подразумеваете под «после начального значения». Точно, когда и где оно становится 0 – Gruntcakes
Почему вы не используете 'integerForKey' и' setInteger' вместо Object? И почему '' hiScore'' вместо '' highScore''? И вы проверили, что он «возвращает, например,« 2 »как высокий балл»? – luk2302
Похоже, вы повторно объявляете saveScore локально и, таким образом, устанавливаете локальную версию, а не self.savedScore. –