NSURLConnection didFailWithError connectionDidFinishLoading同时调用?

问题描述:

关于“didFailWithError”和“connectionDidFinishLoadingNSURLConnection didFailWithError connectionDidFinishLoading同时调用?

它们都可以被调用吗?或者它总是一个或另一个?

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

代理收到消息connection:didFailWithError:后,它不会收到指定连接的其他委托消息。

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

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

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

connectionDidFinishLoading:

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

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

虽然不明显,文档制作,仅这两个中的一个将被称为声明。它或者成功完成并且connectionDidFinishLoading被调用,或者它失败并出现错误,didFailWithError被调用。你可以在的NSURLConnectionDataDelegate文档中找到这个**连接:willSendRequest:redirectResponse:方法。

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