相同的代碼昨天正常工作,不知道爲什麼今天不工作。我試圖保存用戶完成的級別數量,然後解鎖。我的繼承人代碼NSuserDefaults不能保存,直到我關閉應用程序swift
var defaults = NSUserDefaults()
var levelsCompleted = defaults.intergerForKey("levelsCompleted")
保存在用戶完成水平
if levelfinished() {
defaults.setInteger(nextlevel, forKey: "levelsCompleted")
defaults.synchronize()
println("level \(levelsCompleted) unlocked)
}
無論我完成什麼樣的水平,它總是打印用戶上次會話保存級別 所以,如果我第一次運行時,顯示的值返回總是1,即使等級第10條完成,但當我關閉應用程序並重新運行時,然後11級被解鎖並返回即使我完成了第20級。所以我不知道爲什麼它沒有正確保存。昨天我工作的很好,只要我完成了它用來打印正確nextlevel值的任何級別。 繼承人的截圖http://i.imgur.com/It8LOpX.png它總是說解鎖6
同步()返回一個布爾說,如果它是成功的,所以你可能要檢查。 – manecosta
沒有返回任何東西,繼承人截圖http://i.imgur.com/It8LOpX.png它總是說**解鎖6 ** – user528432
當然它返回的東西,無論是真的還是假的。返回並不意味着打印到控制檯,你必須像「let didWork = defaults.synchronize()」,然後檢查「didWork」的值 – manecosta