Web 服务需要做什么才能导致NSURLConnection's
代表接收connection:didFailWithError:
信息?
例如:
iOS 应用程序将令牌传递给 Web 服务,Web 服务查找该令牌,然后 Web 服务需要响应一个错误,指出“令牌无效”或类似内容。
目前,数据已接收,并在“connectionDidFinishLoading
:" 被解析为错误消息。这意味着我在两个地方进行错误检查,这是我试图避免的。
iOS 应用程序和 Web 服务都完全在我的控制之下。
根据我的经验(编程中最危险的三个词),-connection:didFailWithError:
仅当 HTTP 交换失败时才调用。这通常是网络错误或可能是身份验证错误(我不使用身份验证)。如果 HTTP 消息成功,无论响应代码是什么,-connectionDidFinishLoading:
叫做。
我的解决方案:打电话-connection:didFailWithError:
当我检测到错误时。这样我所有的错误处理代码都在一个地方。
在我的顶部-connectionDidFinishLoading:
, 我有:
NSError *error;
NSDictionary *result = [self parseResultWithData:self.connectionData error:&error];
if (!result) {
[self connection:connection didFailWithError:error];
return;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)