我正在尝试为解析"无效的登录参数(代码:101,版本:1.8.1)和#34;创建自定义字符串。 。以下是在自定义警报视图中显示此错误代码的代码:
PFUser.logInWithUsernameInBackground(userName, password: passWord) {
(user, error: NSError?) -> Void in
if user != nil || error == nil {
dispatch_async(dispatch_get_main_queue()) {
self.performSegueWithIdentifier("loginSuccess", sender: self)
}
} else {
dispatch_async(dispatch_get_main_queue()) {
self.activityIND.stopAnimating()
let errorView:String = error!.userInfo!["error"] as! String
self.failedMessage(errorView)
}
}
}
}
func failedMessage(theMessage: String){
let myAlert = SCLAlertView().showError("Woah There", subTitle: theMessage, closeButtonTitle: "Got It")
myAlert.alertview.contentView.backgroundColor = UIColor(red:1.0, green:0.18, blue:0.18, alpha:1.0)
myAlert.alertview.circleBG.backgroundColor = UIColor(red:1.0, green:0.18, blue:0.18, alpha:1.0)
myAlert.alertview.labelTitle.textColor = UIColor.whiteColor()
myAlert.alertview.contentView.layer.borderColor = UIColor(red:1.0, green:0.18, blue:0.18, alpha:1.0).CGColor
myAlert.alertview.viewText.textColor = UIColor.whiteColor()
myAlert.alertview.viewText.backgroundColor = UIColor(red:1.0, green:0.18, blue:0.18, alpha:1.0)
}
现在我创建了一个localizable.strings文件并添加了以下字符串
"error" = "something isn't right, check the username and password fields"
现在我几乎可以肯定这是不正确的格式,因为我之前从未使用过可本地化的字符串,但是你明白了。我试图掩盖那些简单的"无效的登录参数"我的自定义消息。使用我的localizable.strings文件,我该怎么做呢?
答案 0 :(得分:1)
假设您有其他所有本地化配置have been set up - 您需要执行以下操作:
PFUser.logInWithUsernameInBackground(userName, password: passWord) {
(user, error: NSError?) -> Void in
if user != nil || error == nil {
dispatch_async(dispatch_get_main_queue()) {
self.performSegueWithIdentifier("loginSuccess", sender: self)
}
} else {
dispatch_async(dispatch_get_main_queue()) {
self.activityIND.stopAnimating()
if let message = error?.userInfo?["error"] as? String
where message = "invalid login parameters" {
let localizedMessage = NSLocalizedString(message, comment: "")
println(localizedMessage)
self.failedMessage(localizedMessage)
}
}
}
}
}
然后只需将Localizable.strings
中的行更改为:
"invalid login parameters" = "something isn't right, check the username and password fields";
...注意它使用特定的Parse错误消息(作为键)来查找本地化的版本 - 并且最后不要忘记分号。
警告 :这不是我建议的,因为Parse提供的错误消息更容易改变,而不是说 - 错误代码相关。最好检查一下,留出更少的空间进行不必要的维护。