嗨,我試圖在Userdefaults中保存數據,但是每當我運行該應用程序的頁面時,我都會看到線程1:EXC_BAD_INSTRUCTION(code = EXC_I386_INVOC)圖片。線程1:在UserDefaults中編碼數據時出現EXC_BAD_INSTRUCTION
在此之前,我正在獲取與我現在正在獲取它的那一行下面的行相同的確切錯誤,但是現在它正在圖像中看到的當前行上。每當應用啓動時,我如何解決這個問題以保存我的數據?
var highScore = 0
var bronzeStatus = 0
viewDidLoad中:
let defaults = UserDefaults.standard
highScore = defaults.value(forKey: "Add1High") as! NSInteger!
bronzeStatus = defaults.value(forKey: "bronzeMed") as! NSInteger!
底下:
if correctNumber > highScore {
highScore = correctNumber
let defaults = UserDefaults.standard
defaults.setValue(highScore, forKey: "Add1High")
defaults.synchronize()
}
if highScore >= 15 {
let defaults = UserDefaults.standard
let bronzeAlert = UIAlertController(title: "New Medal!", message: "You earned a bronze medal!", preferredStyle: UIAlertControllerStyle.alert)
bronzeAlert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil))
self.present(scoreAlert, animated: true, completion: nil)
bronzeStatus = 1
defaults.setValue(bronzeStatus, forKey: "bronzeMed")
defaults.synchronize()
}
你可以顯示代碼,你用來存儲在你的值serDefaults –
**從不**使用'valueForKey'和'UserDefaults'。對於標量類型,有一些方便的方法:'''''''''''''''' 。使用原生Swift'Int'類型 – vadian