【问题标题】:Parse custom value from NSError从 NSError 解析自定义值
【发布时间】:2018-10-10 18:13:28
【问题描述】:

当 API 请求失败时,我需要知道失败的尝试次数。后端向错误对象添加了一个属性“尝试”。我怎样才能找到这个值,因为 NSError 不兼容 KV 配对,当我将错误对象记录到控制台时我看不到它。

【问题讨论】:

  • 收到此错误的代码是什么样的?
  • 我正在使用 nsurlsession 处理请求,它提供了 NSData、NSURLResponse 和 NSError 的回调。因此,当请求失败时,后端显然会向错误对象添加“尝试”。如何从 NSError 或 NSURLResponse 中检索此值?
  • 当您说后端时,您是指 Web 服务吗?如果是这样,数据将不会出现在 NSError 中。如果在正文中返回,它将作为标头值在 URL 响应中或在数据本身中。
  • @Paulw11,好的,它在数据中。因此,在这个特定请求失败并且我需要“尝试”的情况下,错误为零,并且数据有一个包含错误信息的对象。我必须针对这个异常对网络层进行更改。

标签: ios objective-c parsing nserror


【解决方案1】:

如果您将 NSURLSession 用于 urlrequest ,那么您将拥有 NSURLSession 响应的委托方法,它们是:

->didReceiveResponse = 在这里你会收到urlrequest已经完成的响应和响应接收状态

->didReceiveData = 在这里您将获得请求的成功响应日期

->didCompleteWithError = 在这里你得到 FAILURE 响应(即 ERROR 回调,每次请求失败时都会调用它,它会为你提供错误数据

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-03
    • 2016-11-17
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多