从NSError返回一个NSString

44

我在我的 iPhone 应用中使用 NSURLRequest 类,调用此方法会返回一个 NSString,这对于连接成功时非常好,但问题是我需要将 NSError 转换为 NSString,以便可以把它返回或在其上运行一些 if() 语句。

有什么想法吗? :)


你能提供一下这个问题的代码示例吗? - Benedict Cohen
解析云代码,response.error("duplicate-email-in-employee"); 然后在iOS中,[employee saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { if (error) { if ([error.localizedDescription isEqualToString:@"duplicate-email-in-employee"]) { ... - Fattie
5个回答

85

-[NSError localizedDescription]方法用于返回一个NSString类型的错误信息描述。

此外,每个继承自NSObject的ObjC对象都实现了-description方法,它返回一个NSString类型的描述信息。


14

对于刚接触Objective-C(像我一样)的人,以下是使得'KennyTM'的回答起作用的示例代码 ->

[self showAlertWithTitle:@"Error:" withMessage:error.localizedDescription];

7

您可以尝试使用localizedDescription方法,该方法返回一个字符串。

更多信息请参考文档


5

我发现在NSError中有三种主要的方法:

  • error (NSInteger)
  • domain (NSString)
  • userInfo (NSDictionary)

这些方法可以帮助您更好地处理和理解错误信息。

3
获取所有错误的详细信息:
NSError * err;
...
[NSString stringWithFormat:@"%@", err];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接