在Objective-C中以多种可能性处理故障重试的最有效方法

时间:2015-10-31 16:52:01

标签: ios objective-c cocoa-touch

我正在为我的iOS应用添加代码,以便在与服务器交互时处理错误。错误处理因故障类型而异。

例如:错误可能是收到非200:OK响应。在这种情况下,我想使用响应代码来确定重试算法

或错误可能是超时

或者错误可能基于从服务器返回的JSON正文中的字段的值。

此外,根据在注册期间或数据传输期间是否发生故障等,错误处理也会有所不同。

我正在考虑使用通用函数来避免在多个地方重复代码

基本上它需要两个参数 1.识别子类型错误的失败代码 2. JSON主体,其内容取决于失败代码参数

这种方法是正确的还是更好地将其分解为单独的功能?

1 个答案:

答案 0 :(得分:0)

使用一个函数的方法是正常的,但正如您所说,有时您将从JSON响应中将消息作为正文,有时您会有超时错误,有时作为来自200 OK响应的密钥..这意味着您需要一个解析器函数将决定传递什么作为错误消息,因为我担心你最终会有巨大的功能一次完成所有事情。我会:

a)将此功能拆分为解析器&错误显示

b)在网络处理程序中进行解析,但它可能会在应用程序中复制代码。