如何从NSError.description获取[错误]:

时间:2015-02-01 07:47:04

标签: ios xcode swift nserror

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

例如:

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)

如何在[Error]: missing username中获取String?我是应用程序开发的新手,我只是希望我的错误消息对用户有意义并且简单。

如果这没有意义,我正在使用Parse,我正在处理注册表。如果出现错误,例如“缺少用户名”“用户名”等等,我只是想找到一种方法来获取一个简单的错误弹出窗口来说明 “用户名”

3 个答案:

答案 0 :(得分:4)

您可以使用NSError的{​​{3}}属性。

而不是error.description使用error.localizedDescription

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

注意:

在iOS 8中不推荐使用

localizedDescription,而是使用UIAlertView

答案 1 :(得分:3)

尝试使用:

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

答案 2 :(得分:1)

在你朝这个方向前进之前,你应该非常非常努力地思考你收到的NSError是否会被用户看到。许多NSErrors只能由程序员检查。在这种情况下,"缺少用户名"似乎强烈表明你,程序员,通过发送没有用户名的请求而犯了一个错误,并且不应该首先做到这一点。因此,显示错误警报可能是完全错误的解决方案。