如何使用 localizedDescription 自定义错误消息?
How can I customize the error message with localizedDescription?
我已经为我的应用程序创建了一个登录和注册页面。一切都 运行 顺利,但我希望能够在用户输入错误的电子邮件地址或密码时自定义错误消息。这是我现在的代码:
// Signing in the user
Auth.auth().signIn(withEmail: email, password: password) { (result, error) in
if error != nil {
// Couldn't sign in
self.loginErrorLabel.text = error!.localizedDescription
self.loginErrorLabel.alpha = 1
}
else {
let homeViewController = self.storyboard?.instantiateViewController(identifier: Constants.Storyboard.homeViewController) as? HomeViewController
self.view.window?.rootViewController = homeViewController
self.view.window?.makeKeyAndVisible()
}
}
当用户输入 non-existant/incorrect 电子邮件或密码时,会出现错误标签,显示 "The password is invalid or the user does not have a password."
相反,我希望它 return 具有:"The username or password you entered is incorrect."
有没有一种方法可以在不完全更改代码的情况下执行此操作,例如只需预先添加一些代码来指示 localizedDescription 是什么?欢迎大家帮忙,非常感谢!
你可以这样做
let userInformation = [NSLocalizedDescriptionKey: "your error message"]
let error = NSError(domain: "your domain", code: 401, userInfo:userInformation)
现在您可以将该错误与 "localizedDescription" 或 "Error"
一起使用
我已经为我的应用程序创建了一个登录和注册页面。一切都 运行 顺利,但我希望能够在用户输入错误的电子邮件地址或密码时自定义错误消息。这是我现在的代码:
// Signing in the user
Auth.auth().signIn(withEmail: email, password: password) { (result, error) in
if error != nil {
// Couldn't sign in
self.loginErrorLabel.text = error!.localizedDescription
self.loginErrorLabel.alpha = 1
}
else {
let homeViewController = self.storyboard?.instantiateViewController(identifier: Constants.Storyboard.homeViewController) as? HomeViewController
self.view.window?.rootViewController = homeViewController
self.view.window?.makeKeyAndVisible()
}
}
当用户输入 non-existant/incorrect 电子邮件或密码时,会出现错误标签,显示 "The password is invalid or the user does not have a password."
相反,我希望它 return 具有:"The username or password you entered is incorrect." 有没有一种方法可以在不完全更改代码的情况下执行此操作,例如只需预先添加一些代码来指示 localizedDescription 是什么?欢迎大家帮忙,非常感谢!
你可以这样做
let userInformation = [NSLocalizedDescriptionKey: "your error message"]
let error = NSError(domain: "your domain", code: 401, userInfo:userInformation)
现在您可以将该错误与 "localizedDescription" 或 "Error"
一起使用