2010-12-14 86 views
1

Dans mon application, j'ai une vue de connexion. Lorsque j'entre les informations de connexion et que je clique sur le bouton de connexion, l'application se bloque pendant un certain temps et continue ensuite. Je sais que ça gèle parce que c'est la communication avec le serveur distant mais comment puis-je empêcher la chose de geler et montrer une belle animation d'état à la place? Votre appel de l'API bloque le fil d'exécution de l'interface graphique.L'application se bloque pendant un certain temps

Répondre

3

Comme vous communiquez avec le serveur, cela prendra du temps, alors vous pouvez ajouter une animation sur alertview. Mais en appelant simplement alertview, cela ne fonctionnera pas.

Donc, vous devez procéder aux étapes suivantes:

1) Sur Bouton Soumettre Cliquez d'abord ajouter personnalisée Indication Voir

2) Démarrer l'animation Voir

3) Appel NSThread pour la communication du serveur comme

[NSThread detachNewThreadSelector: @selector (votrenom de votreAction) toTarget: self withObject: nil];

4) Retirer l'animation Voir

Pour plus d'informations passer par cet article: http://iphonedevcentral.blogspot.com/2010/08/safe-threaded-design-and-inter-thread.html

+1

grand article et à quelques –

+2

Merci, ça m'a vraiment aidé. –

1

Vous pouvez contourner ce problème en déplaçant l'appel de requête API distant dans un appel NSOperation et afficher un écran de chargement jusqu'à ce que l'appel de l'API revienne.