2010-05-04 5 views
0

Bonne journée! Je veux utiliser nsthreads dans un projet de xcode qui appellera une fonction qui est pour l'accès au réseau et vérifiera que si le réseau est là ou pas, donc j'ai besoin d'un thread qui va s'exécuter après disons 1 minutes pour vérifier la connectivité. et continuera à courir à moins que l'application est fermée.nsthread dans iphone xcode

[NSThread detachNewThreadSelector:@selector(startTheBackgroundJob) toTarget:self withObject:nil]; 

startTheBackgroundJob

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
// wait for 3 seconds before starting the thread, you don't have to do that. This is just an example how to stop the NSThread for some time 
[NSThread sleepForTimeInterval:5]; 
//[self performSelectorInBackground:@selector(checkNet) withObject:nil]; 
[self performSelectorOnMainThread:@selector(checkNet) withObject:nil waitUntilDone:YES]; 
[pool release]; 

il ne fonctionne que pour la première fois, mais aucun autre, je veux dire que la boucle 1, il fait

quelqu'un peut me aider à cet égard.

Merci

Répondre

0

Je vous suggère une combinaison de NSTimer, qui se déclenche chaque 5-10 secondes + une interface joignabilité, qui vérifie pour vous l'état du réseau. Pas besoin d'un fil. Pour utiliser l'accessibilité, consultez l'exemple d'Apple.

Mettre cet appel à viewDidLoad

[NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES]; 

-(void) onTimer:(NSTimer *)theTimer 
{ 
    //Here perform reachability checks 
} 
+0

j'ai tout mis que je veux dire ... etc joignabilité seule chose est que je veux révoquer la méthode après chaque 5, 10 secondes ou mentons disons –

+0

revoir la réponse, j'ai ajouté un code exemple –

+0

merci beaucoup cher –

1

Vous pouvez utiliser NSTimer à la place ... Avec la propriété sur OUI répétés avec