J'ai créé une GKSession et lors de la création de son objet, la recherche de disponibilité des
- (void)session:(GKSession *)session peer:(NSString *)peerID didChangeState:(GKPeerConnectionState)state {
Je souhaite appeler cette méthode toutes les 60 secondes. Que dois-je faire?
Utilisez NSTimer
NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 60.0 target: self
selector: @selector(callAfterSixtySecond:) userInfo: nil repeats: YES];
Après chaque 60.0 seconde, iOS appellera la fonction ci-dessous
-(void) callAfterSixtySecond:(NSTimer*) t
{
NSLog(@"red");
}
Une fois que vous avez défini NSTimer sur scheduleWithTimeInterval, il l’appelle immédiatement . Vous pouvez utiliser
[self performSelector:@selector(doSomething) withObject:nil afterDelay:60.0f];
Utilisez le code suivant:
NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval: 60.0 target: self
selector: @selector(timerFired:) userInfo: nil repeats: YES];
- (void)timerFired:(NSTimer*)theTimer{
if(condition){
[theTimer isValid]; //recall the NSTimer
//implement your methods
}else{
[theTimer invalidate]; //stop the NSTimer
}
}
Swift 3:
Timer.scheduledTimer(withTimeInterval: 60, repeats: true, block: { (timer) in
print("That took a minute")
})
Vous pouvez utiliser la méthode schedular ...
-(void) callFunction:(CCTime)dt
{
NSLog(@"Calling...");
}
vous pouvez appeler la fonction ci-dessus en utilisant cette ...
[self schedule:@selector(callFunction:) interval:60.0f];