1
有人可以幫助我,爲什麼我無法正確執行nsuserdefaults。當我嘗試點擊保存時,它什麼都不做。我想要的是當我點擊保存它將保存到手機,然後當我嘗試再次返回到viewcontroller它會出現。以下是我的代碼如下。Userdefaults not working
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.setHidesBackButton(true, animated: false)
self.hideKeyboardWhenTappedAround()
firstName.delegate = self
lastName.delegate = self
tableView.reloadData()
//Save Defaults
let defaults = UserDefaults.standard
if let _ = defaults.object(forKey: "firstName") as? String {
self.firstName.text = defaults.object(forKey: "firstName") as? String
}
if let _ = defaults.object(forKey: "lastName") as? String {
self.lastName.text = defaults.object(forKey: "lastName") as? String
}
if let _ = defaults.object(forKey: "contacts") as? Array<Any> {
self.contacts = (defaults.object(forKey: "contacts") as? Array)!
}
}
//MARK -> SAVE BUTTON
@IBAction func saveButtonSelected(_ sender: AnyObject) {
let defaults: UserDefaults = UserDefaults.standard
defaults.set(self.firstName.text, forKey: "firstName")
defaults.set(self.lastName.text, forKey: "lastName")
defaults.set(contacts, forKey: "contacts")
}
如何 「回到視圖控制器再次」?是'viewDidLoad'被執行?你爲什麼有條件地解開_而不是變量,然後賦值? (這不是你的問題,它只是不必要的) – Paulw11
請檢查我的答案並回復.. – KSR
你是在真實的設備上還是在模擬器上測試這個? iOS 10? –