我怎样才能得到 [Error]: 来自 NSError.description?

How can I get the [Error]: from NSError.description?

我正在尝试创建一个仅显示 NSError.description 错误的 UIAlertView

例如:

var alert = UIAlertView(title: "Oops!", message: error.description, delegate: self, cancelButtonTitle: "OK")
alert.show()

假设 error.description 输出:

2015-02-01 02:26:43.227 UserLogin[249:13655] [Error]: missing username (Code: 200, Version: 1.6.2)

我怎样才能在 String 中得到 [Error]: missing username?我是应用程序开发的新手,我只是希望我的错误消息对用户有意义并且简单。

如果这没有意义,我正在使用 Parse 并且正在处理注册表单。如果出现"missing username""username taken"等错误,我只是想找个办法得到一个简单的错误弹出窗口说 "username taken".

您可以使用 NSErrorlocalizedDescription 属性。

而不是 error.description 使用 error.localizedDescription

var alert = UIAlertView(title: "Oops!", message: error.localizedDescription, delegate: self, cancelButtonTitle: "OK")
alert.show()

注:

UIAlertView is deprecated in iOS 8, use UIAlertController 代替。

试试这个:

if let dic  = error?.userInfo {
   let errorString = dic[NSUnderlyingErrorKey]?.localizedDescription
   var alert = UIAlertView(title: "Oops!", message:errorString, delegate: self, cancelButtonTitle: "OK")
   alert.show()
}

在朝那个方向前进之前,您应该非常非常认真地思考您收到的 NSError 是否应该被用户看到。许多 NSErrors 只能由程序员检查。在这种情况下,"missing username" 似乎是一个强烈的迹象,表明您作为程序员在发送没有用户名的请求时犯了错误,并且一开始就不应该这样做。因此显示错误警报可能是完全错误的解决方案。