简体   繁体   English

用户默认设置不起作用

[英]Userdefaults not working

Can someone help me why I can't perform the nsuserdefaults correctly. 有人可以帮我为什么我不能正确执行nsuserdefaults When I try to tapped save it does nothing. 当我尝试点击保存时,它什么也没做。 What i want is when i tapped saved it will saved to the phone and then when i try to go back to the viewcontroller again it will appear. 我想要的是,当我点击保存时,它将保存到手机中,然后当我尝试再次返回到ViewController时,它将出现。 Here is my code below. 这是下面的代码。

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")
        }

Try this: 尝试这个:

 @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")
                defaults.synchronize()
            }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM