swift - 如何使用本地化描述自定义错误消息?
问题描述
我为我的应用创建了登录和注册页面。一切运行顺利,但我希望能够在用户输入错误的电子邮件地址或密码时自定义错误消息。这是我现在的代码:
// 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()
}
}
当用户输入不存在/不正确的电子邮件或密码时,会出现一个错误标签,上面写着“密码无效或用户没有密码”。
相反,我希望它返回:“您输入的用户名或密码不正确。” 有没有办法在不完全更改代码的情况下做到这一点,例如只预先添加一些代码来指示localizedDescription 是什么?欢迎所有帮助,非常感谢!
解决方案
你可以做这样的事情
let userInformation = [NSLocalizedDescriptionKey: "your error message"]
let error = NSError(domain: "your domain", code: 401, userInfo:userInformation)
现在您可以将该错误与“localizedDescription”或“错误”一起使用
推荐阅读
- conditional-statements - 我们如何在 Express-Handlebars 的 If 块中编写条件?
- firefox-addon-webextensions - 通过 Firefox Webextension 插件执行选择链接
- java - 在本地方法中更改数组的值
- javascript - 将两级导航菜单更改为三级
- android - Kotlin gradle 多级项目问题
- jquery - 如何根据后面的视频屏幕按比例调整可移动屏幕的大小?
- windows - 从 Ansible 运行时,Start-Process 在 Z: 驱动器上找不到路径;在本地工作得很好
- mongodb - MongoDB Scala - scala.collection.immutable.$colon$colon 不能转换为 scala.collection.immutable.Vector
- php - Concrete5 不允许将默认作曲家控件推送到子页面
- html - html表格列宽