Calculer le temps écoulé entre 2 actions

heliohelio Membre
juillet 2017 modifié dans Dev. iOS, watchOS, tvOS #1

Bonjour à  tous,


 


Comment faire pour calculer le temps écoulé entre 2 actions ?


par exemple : entre 2 pressions sur le même bouton.


le temps pourra être en millième de secondes.


 


Merci de votre aide

Réponses

  • DrakenDraken Membre
    juillet 2017 modifié #2

    Sans y réfléchir, tu mémorises l'heure système à  la première pression. Et tu fait une soustraction avec la nouvelle heure système à  la seconde pression.


     


    EDIT : Après une petite lecture de la doc, UIEvent a une propriété .timestamp donnant l'heure système au moment de l'événement.


  • Oui je vais avoir quelque chose de ce type :



    let press1 = DispatchTime.now()
    let press2 = DispatchTime.now()

    let diff = press2 - press1

    Mais de quel type est le diff, il faudrait que je déclare cette variable dans ma classe et pas uniquement dans une méthode.

  • Je viens de tester. On ne peut pas appliquer l'opérateur " -" sur un DispatchTime. Il faut la convertir dans un autre format pour calculer la différence.


     


    En lisant l'heure avec la propriété .timestamp de l'événemen, tu récupères directement un TimeInterval, plus facile à  manipuler.


  • Joanna CarterJoanna Carter Membre, Modérateur
    juillet 2017 modifié #5

    Pourquoi tu utilises DispatchTime ? Pourquoi pas Date, qui contient les composants de temps.


     


    Tu utilises date2.timeIntervalSince(date1) pour trouver la différence comme un TimeInterval (double)


     


    Les docs dit :


     



    NSTimeInterval is always specified in seconds; it yields sub-millisecond precision over a range of 10,000 years



  • OK merci !


Connectez-vous ou Inscrivez-vous pour répondre.