2011-06-11 9 views
7

he estado usando el bloque de soporte ampliamente en ASIHttpRequest, y he encontrado que es una forma extremadamente elegante de codificación de solicitudes asíncronas, mucho más que hacer que el delegado vuelva a llamar por separado funciónUsando bloques en Restkit (como ASIHttpRequest Blocks)

Aquí está el código de ejemplo para una referencia rápida.

__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
    [request setCompletionBlock:^{ 
     NSString *responseString = [request responseString]; 
    }]; 
    [request startAsynchronous]; 

me gustaría empezar a utilizar Restkit, pero tengo que ser capaz de utilizar Restkit con bloques también.

he visto el envoltorio aquí Restkit Block Wrapper, pero le gustaría asegurarse de que ese envoltorio que funcionan bien en la producción, y si alguien lo han utilizado extensivamente antes

+1

Ming, ASIHTTPREQUEST es una biblioteca increíblemente avanzada y altamente desarrollada. Realmente, es asombroso, no hay otra palabra. Probablemente sea justo decir que es, de lejos, la biblioteca de terceros ** más confiable ** de cualquier tipo en el universo de iOS. Supongo que la respuesta muy breve a su pregunta es "no, nada más será tan confiable". ¡Espero eso ayude! – Fattie

Respuesta

8

No he utilizado el envoltorio RestKit Bloque todavía, pero me será en breve. De hecho, estoy eliminando ASIHTTPRequest de mi aplicación y estoy reemplazando con RestKit. No porque sea malo, ASIHTTP * es bastante estable, pero no está evolucionando. Mientras que muchas otras bibliotecas, como RestKit, envuelven NSURLConnection y aprovechan los beneficios de las mejoras continuas de las manzanas, ASIHTTP * usa CFNetwork. Apple no está invirtiendo mucho esfuerzo en mejorar las clases preexistentes de la Fundación básica (como CFNetwork). Además, dado que ASIHTTP * depende de la FQ, que va a ser un dolor real a emigrar a ARC cuando esté disponible; Quiero los beneficios de ARC lo antes posible.

+0

en realidad estoy construyendo una clase contenedora adicional encima de todo mi ObjectMapper, y eso está funcionando bien. ¡aquí hay que desear que el restkit admita bloques cuando llegue a v1! Ben –

+0

que creó ASIHTTPRequest realidad acaba de anunciar en su blog que él está parando oficialmente el desarrollo de ASIHTTPRequest, también por razón mencionada anteriormente: http://allseeing-i.com/[request_release]; – runmad

3

Ayer, Blake liberado verson 0.9.3 que cuenta con el uso de bloques para la Mapper Object (otros métodos ya estaban listos para bloques). Deberías echarle un vistazo a las nuevas funciones.

7

bloques de soporte para todas las tareas básicas de delegado en RKRequest y RKObjectLoader va a venir en 0.9.4

+0

muchas gracias! Esta es una gran noticia. –

1

Para un ejemplo de código rápido de usar RestKit con bloques, Derivé este fragmento de http://kalapun.com/blog/2012/05/17/how-i-restkit/

[[RKClient sharedClient] get:@"/fooBar" usingBlock:^(RKRequest *request) { 

    request.onDidLoadResponse = ^(RKResponse *response) { 

     NSLog(@"Retrieved XML: %@", [response bodyAsString]); 
    }; 
}];