gpt4 book ai didi

ios - NSURLConnection:didReceiveResponse: 除了 didFailWithError 之外调用:

转载 作者:行者123 更新时间:2023-12-01 19:17:47 25 4
gpt4 key购买 nike

我注意到,如果存在连接问题,那么除了 didFailWithError: (使用 HTTP 400)之外,还会调用 didReceiveResponse:。

这不是我所期望的,并且使处理错误情况变得棘手 - 特别是因为我还注意到 didReceiveResponse: 是在 didFailWithError: 之前调用的东西:有时在它之后。

我不敢相信这是预期的行为,因此我想知道我的代码是否存在某种问题,但如果有的话,我无法想象如何。

任何人都可以确认 NSURLConnection 的行为应该是什么,或者他们以前是否见过这样的行为?

最佳答案

很确定这是按预期工作的。 -connectionDidFinishLoading:connection:didFailWithError:方法是互斥的,但是任何一个都可以通过调用(或多个!)到 connection:didReceiveResponse: 来进行。 .

毕竟,在这种情况下,您确实收到了有效的 HTTP 响应。它恰好表明您的请求由于该请求的某些问题而无法处理。 (与加载失败但没有响应的超时相反。)

但是,-connectionDidFinishLoading: 之一或 connection:didFailWithError:应该始终是给定连接的最后一条消息。 (如果您对多个连接使用单个委托(delegate),请确保在看到这些调用乱序时查看的是同一个连接对象。)

关于ios - NSURLConnection:didReceiveResponse: 除了 didFailWithError 之外调用:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12081711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com