這是代碼,如果值(分數)超過舊值(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
我真的不明白,我是新的編碼,我有一個示例項目,保存一個簡單的字符串,它的工作完美,但這種方式編輯白整數,而不是字符串不工作在我的項目... –