3

关于“ didFailWithError”和“ connectionDidFinishLoading

可以同时调用吗?或者它总是一个或另一个?

4

3 回答 3

6

不,它们不能同时被调用。

代理收到消息后connection:didFailWithError:,不会再收到指定连接的代理消息。

如果连接成功下载请求,则委托接收connectionDidFinishLoading:消息。委托将不再收到有关连接的消息,并且NSURLConnection可以释放对象。

http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html

于 2012-10-14T21:44:29.623 回答
3

虽然不明显,但文档声明只会调用这两个中的一个。它要么成功完成并调用connectionDidFinishLoading,要么失败并出现错误并调用 didFailWithError。您可以在**connection:willSendRequest:redirectResponse:方法的 NSURLConnectionDataDelegate 文档中找到它。

编辑:看起来@erkanyildiz 的答案显示了文档中更好的信息。

于 2012-10-14T21:45:01.027 回答
1

来自文档https://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html

连接完成加载:

当连接成功完成加载时发送。

成功。似乎总是一个或另一个。

于 2012-10-14T21:44:05.807 回答