Compte à  rebour

chevalhackchevalhack Membre
19:49 modifié dans API AppKit #1
Bonjour à  tous,

Je débute en Cocoa, et j'aimerez savoir comment vous ferez pour afficher un compte à  rebour sur un NSTextField.
Ce compte à  rebour sera compris entre 2 dates (logique Very Happy).
Je suppose que je dois utiliser timeIntervalSincenow si je veux calculer depuis la date actuel jusqu'a une date voulu.
J'aimerez savoir comment je peux l'utiliser dans une app Cocoa merci de votre aide. Cela m'aidera a mieux comprendre certainces chose

Merci d'avance pour votre réponse .

Réponses

  • Philippe49Philippe49 Membre
    19:49 modifié #2
    Tu peux lire la doc sur NSTimer

    Creating a timer
    + scheduledTimerWithTimeInterval:invocation:repeats: 
    + scheduledTimerWithTimeInterval:target:selector:userInfo:repeats: 
    + timerWithTimeInterval:invocation:repeats: 
    + timerWithTimeInterval:target:selector:userInfo:repeats: 
    – initWithFireDate:interval:target:selector:userInfo:repeats: 
    Firing a timer
    – fire 
    Stopping a timer
    – invalidate 
    Information about a timer
    – isValid 
    – fireDate 
    – setFireDate: 
    – timeInterval 
    – userInfo 



    Et bienvenu sur OC
  • chevalhackchevalhack Membre
    19:49 modifié #3
    ok je vais voir si j'y arrive.
  • chevalhackchevalhack Membre
    19:49 modifié #4
    On peu me dire comment fonctionne exactement la méthode de class

    + scheduledTimerWithTimeInterval:invocation:repeats:

    Plus précisément est-ce elle que je dois utiliser pour après renvoyer l'interval dans un int a l'aide de -(NSTimerInterval )timeInterval par exemple
    NSTimer *time = [NSTimer scheduledTimerWithTimeInterval:invocation:repeats:];
    int intervalle = [time timeInterval];
    pour après afficher ce int ???

    Si oui on peux me dire exactement comment cela fonctionne avec invocation car c'est le seul argument que j'ai pas compris merci à  vous ;)
  • Philippe49Philippe49 Membre
    19:49 modifié #5
    Ci-joint un petit exemple



  • chevalhackchevalhack Membre
    19:49 modifié #6
    ok merci ca devrait aller ;)
  • Philippe49Philippe49 Membre
    19:49 modifié #7
    Ce timer écrit dans la console toutes les 2 secondes "firing ".

    Pour le stopper utiliser [timer invalidate]
  • chevalhackchevalhack Membre
    19:49 modifié #8
    ok encore merci, j'ai remarqué que dans tout les exemple c'est comme ca que le timer est créer en fait mon problème venait juste du fait que je croyais que le timer devait tout faire en fait non le timer sert juste a faire une action tout les x secondes ca peut paraitre idiot mais bon j'étais mal parti ^^
  • Philippe49Philippe49 Membre
    19:49 modifié #9
    dans 1200414090:

    ok encore merci, j'ai remarqué que dans tout les exemple c'est comme ca que le timer est créer en fait mon problème venait juste du fait que je croyais que le timer devait tout faire en fait non le timer sert juste a faire une action tout les x secondes ca peut paraitre idiot mais bon j'étais mal parti ^^

    Toutrs les x secondes exactement c'est le principe, mais ce n'est pas assuré, c'est environ x secondes. Si on fait par exemple une horloge, il vaut mieux dans la méthode vérifier la date courante, plutôt que de se baser sur le timer : un dixième de seconde d'erreur fait rapidement 1 seconde. 
  • chevalhackchevalhack Membre
    19:49 modifié #10
    oui j'y d'ailleur réfléchis je me suis donc dit c mieux de mettre 0.5 comme ca c'est sûr
  • schlumschlum Membre
    19:49 modifié #11
    Pour le NSTimer, OK... Par contre, pour gérer les dates et intervalles, j'utiliserais plutôt "gettimeofday" et "timegm" (ou "mktime")

    (Ceci-dit, passer par l'objet NSDate devrait permettre de s'abstraire des contraintes de zone...)
Connectez-vous ou Inscrivez-vous pour répondre.