这是代码,如果值(分数)超过旧值(maxscore),我试图将数据保存在plist中,但是我发现错误...从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,在scoreScore中显示maxScore ...但是我有一个新的错误,我会疯狂地解决它!
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
我真的不明白,我是新的编码,我有一个示例项目,保存一个简单的字符串,它的工作完美,但这种方式编辑白整数,而不是字符串不工作在我的项目... –