我有下面的代碼,我想在我的遊戲開始時只有一次播放教程,所以我有一個布爾變量設置爲true,一旦教程已經完成,但由於某些原因,值停留爲假。我甚至已經打印出教程的價值,即使之前的行是將值設置爲true的行,它也會顯示爲false。它爲什麼這樣做?如何在Swift中的User Defaults中設置布爾值?
let tutorial = UserDefaults().bool(forKey: "tutorial")
if tutorial == false {
introSequence()
}
if rightIntroButton.contains(location) {
UserDefaults().set(true, forKey: "tutorial")
//tutorial = true
UserDefaults.standard.set(true, forKey: "tutorial")
print(tutorial)
}
嘗試在設置密鑰後調用'UserDefaults.standard.synchronize()'。 –
https://developer.apple.com/reference/foundation/nsuserdefaults/1408905-setbool?language=objc – danh
什麼是搞砸的縮進?順便說一下,將用戶默認密鑰('「tutorial」')提取到一個集中變量中可能不是一個壞主意,那麼讓您更容易在將來更改它們。 – Alexander