Question

J'utilise le support de bloc largement dans ASIHttpRequest, et je l'ai trouvé à être un moyen extrêmement élégant de codage des demandes async, bien plus que d'avoir l'appel de délégué retour une fonction séparée

Voici le code exemple pour une référence rapide.

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

Je voudrais commencer à utiliser Restkit, mais je dois être en mesure d'utiliser Restkit avec des blocs aussi bien.

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

Était-ce utile?

La solution

Je n'ai pas utilisé le bloc RestKit encore emballage, mais je serai bientôt. Je réellement supprimer ASIHTTPRequest de mon application et les remplacer par RestKit. Non pas parce qu'il est mauvais, ASIHTTP * est assez stable - mais il n'évolue. Alors que beaucoup d'autres bibliothèques, comme RestKit, enveloppent NSURLConnection et ainsi récolter les bénéfices des pommes continue des améliorations à lui, ASIHTTP * utilise CFNetwork. Apple n'investit beaucoup d'efforts pour améliorer la base des classes Fondation pré-existante (comme CFNetwork). En outre, puisque ASIHTTP * dépend de FC, il va être un douleur royale pour migrer vers ARC quand il est disponible; Je wan't les avantages de l'ARC le plus rapidement possible.

Autres conseils

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

Hier, Blake a publié verson 0.9.3 qui comprend l'utilisation des blocs pour le mappeur d'objets (autres méthodes étaient déjà prêts pour les blocs). Vous devriez jeter un regard sur les nouvelles fonctionnalités.

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]); 
    };
}];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top