Yalnızca NSHTTPURLResponse'yi içeren geri arama bloğundan, AFJSONRequestOperation için ham yanıt verilerine erişmem gereken bir durum var. StatusCode'u NSHTTPURLResponse'den alabiliyorum, ancak ham verilere ulaşmanın bir yolunu göremiyorum. Bu işlemin başarısızlık geri arama bloğundan herkesin bunu bilmesinin iyi bir yolu var mı? Yalnızca HTTP üstbilgisi bilgisi içerenAFJSONRequestOperation geri çağrısında NSHTTPURLResponse'den yanıt verisi nasıl alınır?
23
A
cevap
35
NSHTTPURLResponse
; vücut verisi yok. Yani hayır, bu imkansız olurdu. Bu kod üzerinde herhangi bir denetiminiz varsa, bloğun veya yöntemin işlemi kendiliğinden geçmesini ve responseData
veya responseJSON
'u almasını sağlayın.
-2
Eski soruyu, ama yine de ...
Sen operasyon nesnesine almak gerekmez, kolayca gibi bir şey yapabilirsiniz: geri arama aldığında JSON id ile
NSData * data = [NSJSONSerialization dataWithJSONObject:JSON options:0 error:nil]];
.
+0
JSON nesnesi, hatalı json nedeniyle başarısız olabileceğinden, hata geri çağırma engellemesinde başarısız olabilir. –
Matt, düşündüğüm şey buydu ve ben de ResponseData'ya ulaşma işlemine atıfta bulundum, ama eminim ki bu şekilde beceriksiz hissediyor. ResponseData yanı sıra NSHTTPURLResponse döndüren mevcut olana ek olarak alternatif bir yöntem eklemeyi düşündünüz mü? –
Hangi yöntemden bahsediyorsunuz? Geridönüşümleri olan tüm AFN yöntemleri, işlemin durumu hakkında bilmeniz gereken herşeyi - yani, işlem nesnesinin kendisi, diğer birkaç göze çarpan kısımla birlikte - döndürür. – mattt
Özellikle JSONRequestOperationWithRequest yöntemine başvuruyorum: başarı: başarısızlık: –