私は失敗した場合に備えてこのコードを持っています:
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON)
返された文字列をログに記録したいと思います。どの変数からそれをどのように行う必要がありますか?
私は失敗した場合に備えてこのコードを持っています:
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON)
返された文字列をログに記録したいと思います。どの変数からそれをどのように行う必要がありますか?
したがって、通常はエラーを出力する必要があります。これにより、サーバーがエラーとして報告しているものがすべて出力されます。失敗メッセージは、予期していた間違ったタイプ(application / jsonではなくplaintext)を受信した場合、またはステータスコードが(404、401)のように>400の場合にトリガーされます。
エラーチェックを行う場合は、応答ヘッダーにステータスコードを設定してから比較するresponse.statusCode
か、データを返すときに成功ブロックでエラーチェックを行う必要があります。
どうしても応答からresponseStringにアクセスする必要がある場合はoperation.responseString
、操作がAF要求操作である場合に使用できます。
アップデート
https://github.com/AFNetworking/AFNetworking/issues/137の@matttの例を次に示します。
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Friend Request Sent");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"[Error]: (%@ %@) %@", [operation.request HTTPMethod], [[operation.request URL] relativePath], operation.error);
}];