Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UserDefaults.standard不保存swift3 xcode 8_Swift3_Xcode8 - Fatal编程技术网

UserDefaults.standard不保存swift3 xcode 8

UserDefaults.standard不保存swift3 xcode 8,swift3,xcode8,Swift3,Xcode8,大家好,我正在尝试构建一个简单的单视图程序来调用和导航语音菜单,我无法在关闭应用程序之间正确保存用户默认值。我还遇到了在UITextField中显示文本的问题,如果在启动时保存,我希望它能够显示,以下是变量的说明: UserInput-员工ID的文本字段(需要保存的内容) 开关-如果保存为1,则保存数据,如果为0,则不保存数据 Submit-Submit按钮,用于保存数据并调用 这是我的第一个iPhone应用程序,任何帮助都将不胜感激 在此处输入代码 import UIKit class

大家好,我正在尝试构建一个简单的单视图程序来调用和导航语音菜单,我无法在关闭应用程序之间正确保存用户默认值。我还遇到了在UITextField中显示文本的问题,如果在启动时保存,我希望它能够显示,以下是变量的说明:

UserInput-员工ID的文本字段(需要保存的内容) 开关-如果保存为1,则保存数据,如果为0,则不保存数据 Submit-Submit按钮,用于保存数据并调用

这是我的第一个iPhone应用程序,任何帮助都将不胜感激

在此处输入代码

   import UIKit

class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet weak var UserInput: UITextField!



var SaveIt = true
var employID = ""
override func viewDidLoad() {
    super.viewDidLoad()



    // Do any additional setup after loading the view, typically from a nib.
    self.UserInput.delegate = self;
    UserInput.keyboardType = .numberPad
    if let current_eid = UserDefaults.standard.string(forKey: "emp_ID") {
        UserInput.text = current_eid
    }

}


override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}



func loadDefaults() {
    let defaults = UserDefaults.standard
    if let UserInput = defaults.string(forKey: "emp_ID") {
        print(UserInput)

    } else {
        // focus on the text field if it's empty
        UserInput.becomeFirstResponder()        }

    UserInput.text = defaults.object(forKey: "emp_ID") as! String?
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
    textField.resignFirstResponder()
    return true
}
@IBAction func Switch(_ sender: UISwitch) {
    if (sender.isOn == true) {
        SaveIt = true
    }
    else{
        SaveIt = false
    }


}

@IBAction func Submit(_ sender: Any) {
    if (SaveIt) {
        let defaults = UserDefaults.standard
        defaults.set(UserInput.text, forKey: "emp_ID")
        defaults.synchronize()
    }
    let phone = "telprompt://1888247889pppp" + UserInput.text! + "p1p1p1p1";
    let url = URL(string:phone)!
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }           else { UIApplication.shared.openURL(url)
    }

}

}

我建议首先将您的键设置为一个简单的描述性字符串,以便您能够始终如一地使用。在不深入调试的情况下,我怀疑您保存的内容和检索的内容是不同的。我明白您的意思,self.UserImput位于顶部,但UserImput位于检索位置,我已经更新了代码来修复这个问题,但它似乎仍然没有存储。命名
UserImput
作为一个静态变量和一个文本字段是非常令人困惑的。更新后,我从一个比我更了解swift的同事那里得到了一些帮助,修复在上面,应用程序正在运行!