2012-05-16 17 views
23

私は、NSHTTPURLResponseだけを含むコールバックブロック内から、AFJSONRequestOperationの生の応答データにアクセスする必要がある状況があります。私はNSHTTPURLResponseからstatusCodeを取得できますが、生データに到達する方法はありません。誰かがこの操作の失敗のコールバックブロックからこれにアクセスするのを知っている良い方法はありますか?AFJSONRequestOperationのコールバックでNSHTTPURLResponseから応答データを取得するにはどうすればよいですか?

答えて

35

NSHTTPURLResponseには、HTTPヘッダー情報のみが含まれています。ボディデータはありません。そうではありません。これは不可能です。このコードを制御できる場合は、ブロックまたはメソッドに操作自体を渡し、responseDataまたはresponseJSONを取得します。

+0

マット、それは私が思っていたものですが、私はresponseDataで取得する操作を参照することになりましたが、確かにそれは不器用な感じです。 NSHTTPURLResponseと同様にresponseDataを返す現在のメソッドに加えて、別のメソッドを追加することを検討しましたか? –

+0

あなたはどんな方法で話していますか?コールバックを持つすべてのAFNメソッドは、操作の状態、つまり操作オブジェクト自体といくつかの顕著な部分について知る必要があるすべてのものを返します。 – mattt

+0

私は具体的にJSONRequestOperationWithRequestメソッドを参照しています:成功:失敗: –

-2

旧質問、とにかく...

あなたは、操作対象を取得する必要はありません、あなたは簡単のような何かをすることができます:コールバックが受け取るJSONのIDで

NSData * data = [NSJSONSerialization dataWithJSONObject:JSON options:0 error:nil]]; 

を。

+0

JSONオブジェクトは、不適切なjsonのために失敗する可能性があるため、失敗のコールバックブロックではnilになることがあります。 –

関連する問題