2012-12-18 3 views
0

Je souhaite afficher alertview avant d'interroger les données de base.Alertview s'affiche plus tard après la fin de la requête Core Data?

Mes données de base vont interroger des centaines de milliers d'enregistrements et cela prendra du temps, mais quand j'essaie d'afficher la vue d'alerte, la vue d'alerte est affichée après que le processus de données de base est terminé?

Qu'est-ce qui ne va pas? Comment puis-je afficher le alertview avant d'interroger?

+0

add s'il vous plaît. –

Répondre

0

j'ai réussi à résoudre ce problème en:

dispatch_queue_t request_queue = dispatch_queue_create("com.appname.method", NULL); 
dispatch_async(request_queue, ^{ 
Your long process here.. 
}); 

Lorsque le besoin de mettre à jour l'interface graphique, utilisez ceci:

dispatch_async(dispatch_get_main_queue(), ^{ 
}); 
Code
0

Basculez votre code pour extraire des données dans un fil, puis afficher la zone d'alerte.

Étapes:

  1. Démarrer le fil pour extraire des données de DB.
  2. Afficher la boîte de dialogue d'alerte avec la progression ou ce que vous voulez.
  3. Lorsque le rappel de récupération de données arrive, fermez la boîte de dialogue d'alerte.
+0

J'ai essayé ceci pour utiliser dispatch_queue_t, cependant il en résulte quelques bugs où je n'ai pas trouvé si je n'ai pas utilisé de thread – Rendy