RestKit & Blocks
bobo
Membre
Bonjour à tous,
j'éssaie depuis un bon bou de temps maintenant de récupérer dans un block le contenu d'un array dans un model. cet array contient une ressource retourné par un serveur. Dans le block je récupère bien les données dans mon model. une fois sortie du bloc l'instance de mon model est vide. hors j'ai absolument
besoin de ces données. voici un extrait
[operation setCompletionBlockWithSuccess:^(RKobjectRequestOperation *op, RKMappingResult * resul)
{
self.model = [resul firstObject];
NSLog(@model %@ ", [self.model description]; //ici l'objet est valide
}];
[opertion start];
NSLog(@model %@ ", [self.model description]; //ici l'objet est null
return mode;
Hors j'ai absolument besoin de retourner cet objet valide.
Quelqu'un à t il une idée?
merci d'avance
j'éssaie depuis un bon bou de temps maintenant de récupérer dans un block le contenu d'un array dans un model. cet array contient une ressource retourné par un serveur. Dans le block je récupère bien les données dans mon model. une fois sortie du bloc l'instance de mon model est vide. hors j'ai absolument
besoin de ces données. voici un extrait
[operation setCompletionBlockWithSuccess:^(RKobjectRequestOperation *op, RKMappingResult * resul)
{
self.model = [resul firstObject];
NSLog(@model %@ ", [self.model description]; //ici l'objet est valide
}];
[opertion start];
NSLog(@model %@ ", [self.model description]; //ici l'objet est null
return mode;
Hors j'ai absolument besoin de retourner cet objet valide.
Quelqu'un à t il une idée?
merci d'avance
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Donc la réponse est qu'il faut tout gérer de manière asynchrone: par exemple, on empêche les interactions avec l'IHM pendant le chargement en affichant un UIActivityIndicator. Quand les données sont reçues, on rafraà®chit l'IHM.
Merci pour ta réactivité,
j'avais en effet compris que mon blocks s'éxecute bien après.
Mais il y a t il pas un moyen d'exécuté mon block en priorité ? avant le NSLog suivant
Quel est l'intérêt de lancer une tâche en parallèle si l'on veut qu'elle s'exécute en séquence ?
merci de être arrêter sur mon poste.
En réalité je suis pas un expert RestKit , donc j'ai juste suivi le tuto sur github. ceci dit si je pouvais me passer des blocks pour le coup, je le ferai bien volontier.
Par exemple :
Mais brutalement comme ça, je ne te le conseille pas. Il y a un problème de conception si tu as ABSOLUMENT besoin DE SUITE du résultat d'une tâche lancée en parallèle.
mais celà ne fonctionne pas . je vais esayé de passer par une requête synchrone sans passer par restkit. c'est la seule solution je pense.
encore merci à vous
Surprenant.