2011-11-21 24 views
16

Bir iOS uygulamasında RestKit kullanıyorum ve belirli HTTP hata kodları için özel işlem yürütmem gerekiyor. Yanıt HTTP durum kodu request:didFailLoadWithError:'un içinde nasıl kontrol edilebilir? NSError'un userInfo sözlüğünde bir giriş var mı?RestKit: Bir istek başarısız olduğunda HTTP durum kodunu alma

RKRequestDelegate documentation'da hiçbir şey bulamadım. Benim için RKResponse eser bulunan

- (void)request:(RKRequest *)request didFailLoadWithError:(NSError *)error 

cevap

50

, sen RKObjectRequestOperation gelen statusCode getirebilir:

operation.HTTPRequestOperation.response.statusCode

+0

Bu doğru cevap RestKit v0.20'de –

1

statusCode özelliği::

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error 
{ 
    switch ([[objectLoader response] statusCode]) { 
     case 409: 
    ... 

} 
+0

Sadece RKClient kullanıyorum, bu yüzden, RKRequestDelegate aracılığıyla haberdar değil almak ObjectManagerDelegate. Tüm RKRequestDelegate hataları için RKRequest ve bir NSError sağlar. – pepsi

+0

RKRequest, 0.10.3 bir cevap özelliğine sahip. – Jon

3

O didFailLoadWithError: HTTP hataları için çağrılmaz çıkıyor

İşte temsilci yöntemi için arayüz bu. request:didLoadResponse: yöntemi hala HTTP hataları için çağrıldığından, yanıt (ve dolayısıyla durum kodları) kullanılabilir. RESTkit ve ObjectManager yeni sürümünü kullanan kişiler için

İlgili konular