Afficher une minuterie de x heures

Bonjour je suis face a un casse tete (pour moi) que je n'arrive pas a regler , je veux afficher un label qui affiche une minuterie , j'ai ce code la pour afficher une minuterie de 180 secondes par exemple 



-(void)setTimer {


secondsCount = 180; //c'est un integer déclaré dans le .h

countdown = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerRun) userInfo:nil repeats:YES];


}


-(void)timerRun {

secondsCount = secondsCount - 1;

int minutes = secondsCount /60;
int seconds = secondsCount - ( minutes * 60);

NSString *timerOut = [NSString stringWithFormat:@%2d : %2d, minutes, seconds];

hour.text = timerOut;



if (secondsCount == 0) {
[countdown invalidate];
countdown = nil;
}




}


et dans mon view did load j'ai donc fait [self setTimer];


 


ca marche tres bien mais maintenant je voulais afficher une minuterie de X heures .. je vois pas du tout comment m'y prendre avec les conversions , les calculs .. 


Merci de votre aide !


Réponses

  • LarmeLarme Membre
    août 2013 modifié #2

    Si j'ai bien suivi :

    hours = secondsCount/3600;


    minutes = (secondesCount-hour*3600)/60;


    secondes = secondesCount%60;


     


    ça devrait faire le truc, niveau logique/algorithmie...

    Mais doit sûrement avoir mieux...


  • On en a parlé ICI


     


    Faut utiliser l'opérateur modulo (%)



    int time=3600*3; // 3 heures

    int h=time/3600; // nombre d'heures entières
    int s=time%3600; // nombre de secondes restantes (sans les heures entières)
    int m=s/60 // nombre de minutes entières
    s=s%60; // nombre de secondes restantes (sans les minutes entières)
  • AliGatorAliGator Membre, Modérateur
    Oui, c'est un sujet très récent en plus, tu aurais pu facilement tomber dessus avec une simple petite recherche...
Connectez-vous ou Inscrivez-vous pour répondre.