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

明らかではありませんが、ドキュメントでは、これら 2 つのうちの 1 つだけが呼び出されると述べています。正常に終了して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

connectionDidFinishLoading:

接続の読み込みが正常に終了したときに送信されます。

成功しました。常にどちらか一方のようです。

于 2012-10-14T21:44:05.807 に答える