Это код, я пытаюсь сохранить данные в plist, если значение (оценка) больше старого значения (maxscore), но я нашел ошибку ...Ошибка при получении значения из NSUserDefaults
func write() { var maxscore = NSUserDefaults.standardUserDefaults().objectForKey("chiave") as Int?
if let test = score { // ERROR
if maxscore < score {
maxscore = score
}
}
NSUserDefaults.standardUserDefaults().setObject(score, forKey: "chiave")
NSUserDefaults.standardUserDefaults().synchronize()
}
ошибки при Xcode является
"bond value in a conditional binding must be optional type swift"
РЕДАКТИРОВАНИЕ НОВОЙ ПРОБЛЕМЫ! Я пишу plist в конце игры, и я хочу прочитать plist, когда начнется игра, чтобы показать maxScore в score labelScore ... но у меня новая ошибка, и я схожу с ума, чтобы ее решить!
func write() {
var maxScore = NSUserDefaults.standardUserDefaults().objectForKey("chiave") as Int?
if maxScore < score {
maxScore = score
}
NSUserDefaults.standardUserDefaults().setObject(maxScore, forKey: "chiave")
NSUserDefaults.standardUserDefaults().synchronize()
}
func read() {
var maxScore = NSUserDefaults.standardUserDefaults().objectForKey("chiave") as Int?
println(maxScore) // CONSOLE RETURN -> "Optional(0)"
labelScore.text = String(maxScore) // ERROR "Could not find an overload for init that accept the supplied argument
}
Я не совсем понимаю, почему это было проголосовано ... Это законный вопрос. – Oxcug
В вашем вопросе говорится о записи файла plist, где, как объясняется ваше объяснение о NSUserDefaults. – Mrunal
Я действительно не понимаю, я новичок в кодировании, и у меня есть образец проекта, который сохраняет простую строку, и она отлично работает, но этот способ отредактировал whit integer, а не string, не работает в моем проекте ... –