J'ai essayer de créer un chronomètre avec HH: MM: SS, le code est le suivant:NSTimer - Chronomètre
-(IBAction)startTimerButton;
{
myTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(showActivity) userInfo:nil repeats:YES];
}
-(IBAction)stopTimerButton;
{
[myTimer invalidate];
myTimer = nil;
}
-(void)showActivity;
{
int currentTime = [time.text intValue];
int newTime = currentTime + 1;
time.text = [NSString stringWithFormat:@"%.2i:%.2i:%.2i", newTime];
}
Bien que la sortie ne s'incrémente de 1 seconde comme prévu, le format de sortie est XX : YY: ZZZZZZZZ, où XX sont les secondes.
Quelqu'un a des idées?
Merci, YY, ZZ, était le format qui était affiché avec le code ci-dessus. Mais je l'ai changé pour: time.text = [NSString stringWithFormat: @ "% 02i:% 02i:% 02i", deuxième/(60 * 60), second/60, second]; En fonction de ce que vous suggérez et le format n'est pas HH: MM: SS mais mes secondes arrêtent de compter après 1. Des idées? – Stephen
La première ligne de votre méthode est [time.text intValue] - il n'y a pas d'intValue d'une chaîne comme HH: MM: SS donc intValue retourne 0 à chaque fois. Vous devez ajouter une variable à votre classe pour stocker le currentTime. Voir ma modification pour un code que j'ai déjà utilisé pour le faire. – deanWombourne
Tout fonctionne maintenant, merci. – Stephen