2011-06-11 4 views
7

J'ai largement utilisé le support de bloc dans ASIHttpRequest, et je l'ai trouvé comme un moyen extrêmement élégant de coder les requêtes asynchrones, beaucoup plus que d'avoir un appel séparé du délégué functionUtilisation de blocs dans Restkit (comme les blocs ASIHttpRequest)

Voici un exemple de code pour référence rapide. Je voudrais commencer à utiliser Restkit, mais je dois aussi pouvoir utiliser Restkit avec des blocs.

Je l'ai vu l'emballage ici Restkit Block Wrapper, mais je voudrais vérifier si cet emballage fonctionnerait bien dans la production, et si quelqu'un a utilisé abondamment avant

+1

Ming, ASIHTTPREQUEST est une bibliothèque incroyablement avancée et hautement développée. Vraiment, c'est stupéfiant - il n'y a pas d'autre mot. Il est probablement juste de dire que c'est, de loin, la bibliothèque tierce la plus fiable de tous les types dans l'univers iOS. Je suppose que la réponse très courte à votre question est «non, rien d'autre ne sera aussi fiable». J'espère que cela aide! – Fattie

Répondre

8

Je ne l'ai pas encore utilisé l'emballage RestKit Block, mais je sera bientôt. Je suis en train de supprimer ASIHTTPRequest de mon application et de le remplacer par RestKit. Non pas parce que c'est mauvais, ASIHTTP * est assez stable - mais il n'évolue pas. Alors que de nombreuses autres bibliothèques, comme RestKit, enveloppent NSURLConnection et profitent ainsi des améliorations continues apportées par Apple, ASIHTTP * utilise CFNetwork. Apple n'investit pas beaucoup d'efforts pour améliorer les classes préexistantes de Core Foundation (comme CFNetwork). En outre, puisque ASIHTTP * dépend de CF, il va être une douleur royale de migrer vers ARC quand il est disponible; Je ne voulais pas les avantages de l'ARC le plus tôt possible.

+0

Je suis en train de construire une classe wrapper supplémentaire sur mon objectmapper, et cela fonctionne bien. Voici à souhaiter que le kit de prise en charge prend en charge les blocs au moment où il atteint v1! –

+0

Ben qui a créé ASIHTTPRequest vient juste d'annoncer sur son blog qu'il arrête officiellement le développement sur ASIHTTPRequest, également pour la raison mentionnée ci-dessus: http://allseeing-i.com/[request_release]; – runmad

3

Hier, Blake a publié verson 0.9.3 qui présente l'utilisation de blocs pour Object Mapper (d'autres méthodes étaient déjà prêtes pour les blocs). Vous devriez regarder les nouvelles fonctionnalités.

7

blocs de support pour toutes les tâches des délégués de base sur RKRequest et RKObjectLoader va venir dans 0.9.4

+0

merci beaucoup! c'est une super nouvelle. –

1

Pour un exemple de code rapide à utiliser RestKit avec des blocs, je tirais cet extrait 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]); 
    }; 
}];