【问题标题】:Coufused about using UserDefaults to make administrator ID对使用 UserDefaults 制作管理员 ID 感到困惑
【发布时间】:2017-03-28 10:17:09
【问题描述】:

我使用 UserDefaults 来制作登录屏幕。 我的问题是我需要一个管理员让 Apple 的审查员可以直接登录我的应用程序而无需再次注册。接下来我该怎么办?请帮助我!谢谢!

这是我的代码:

//This is register's code
 @IBOutlet weak var userRegisterTextField: UITextField!

@IBOutlet weak var userRegisterPasswordTextField: UITextField!

@IBOutlet weak var repeatPasswordTextField: UITextField!

@IBAction func registerButton(_ sender: Any) {


    let userRegister = userRegisterTextField.text
    let userRegisterPassword = userRegisterPasswordTextField.text
    let userRepeatPassword = repeatPasswordTextField.text

    // save the data that user register in.
    UserDefaults.standard.set(userRegister, forKey: "userRegister")
    UserDefaults.standard.set(userRegisterPassword, forKey: "userRegisterPassword")
    UserDefaults.standard.synchronize()

    }




//This is login's code.
@IBOutlet weak var userName: UITextField!

@IBOutlet weak var userPassword: UITextField!

@IBOutlet weak var loginText: UILabel!

@IBOutlet weak var loginButton: UIButton!

@IBAction func loginButton(_ sender: Any) {

    let userLogin = userName.text
    let userPasswordText = userPassword.text
    let userPasswordStored = UserDefaults.standard.string(forKey: "userRegisterPassword")
    let userLoginStored = UserDefaults.standard.string(forKey: "userLoginStored")
    let vc = self.storyboard?.instantiateViewController(withIdentifier: "TabBarController") as! UITabBarController





    /*userID and password must the same as the data that user registered before*/

    if userLoginStored == userLogin {
    if userPasswordStored == userPasswordText {

            UserDefaults.standard.set(true, forKey: "isUserLoggedIn")
            UserDefaults.standard.synchronize()
            self.present(vc, animated: true, completion: nil)   

        }

    } else {
        loginText.text = "Your userID or password is wrong. Please try again"
    }

}

【问题讨论】:

    标签: swift login userdefaults


    【解决方案1】:

    您正在为用户名使用两个不同的密钥。检查您的代码以获取以下行

    在注册时,您使用“userRegister”键来存储用户名。

    UserDefaults.standard.set(userRegister, forKey: "userRegister")
    

    您在登录时使用密钥“userLoginStored”检索密码。

    let userLoginStored = UserDefaults.standard.string(forKey: "userLoginStored")
    

    在这两个地方使用相同的密钥“userRegister”,这样您的问题就会得到解决。

    【讨论】:

    • 致阿比吉特:非常感谢!!!!!!!这是工作!!对于任何看到此提交的人:我添加了以下代码: if (userLogin == "456") || (userPasswordText == "789") { self.present(vc, animated: true, completion: nil) } 你会得到一个管理员 ID 是 123 密码是 789 。再次感谢您!
    猜你喜欢
    • 2012-09-21
    • 1970-01-01
    • 2019-06-05
    • 2014-10-03
    • 2012-03-04
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    相关资源
    最近更新 更多