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? –