接続に問題がある場合は、didFailWithError:(HTTP 400を使用)に加えてdidReceiveResponse:が呼び出されていることに気付きました。
これは私が期待していたことではなく、エラー状況の処理を難しくします。特に、didReceiveResponse:がdidFailWithError:の前、場合によってはその後に呼び出されることに気付いたためです。
これが意図された動作であるとは信じられないので、コードに何らかの問題があるのではないかと思いますが、あるとしたらどうすればよいか想像できません。
NSURLConnectionの動作がどうあるべきか、または以前にこのような動作を見たことがあるかどうかを誰かが確認できますか?