J'essaie d'utiliser timeIntervalSinceReferenceDate et je ne suis pas tout à fait sûr si je le comprends correctement. J'ai essentiellement un bouton pour calculer la différence de temps entre le moment où le bouton de démarrage et d'arrêt est pressé.Minuterie simple dans l'iPhone
- (IBAction)startButtonPressed {
startButtonFlag = !startButtonFlag; // first time through, startButtonFlag turns on
if (startButtonFlag) { // timer starts
[startButton setTitle:@"Stop" forState:UIControlStateNormal];
startTime = [NSDate timeIntervalSinceReferenceDate];
NSLog(@"start time: %d", startTime);
}
else { // timer stops
[startButton setTitle:@"Start" forState:UIControlStateNormal];
stopTime = [NSDate timeIntervalSinceReferenceDate];
NSLog(@"stop time: %d", stopTime);
elapsedTime = stopTime - startTime;
NSLog(@"elapsed time: %d", elapsedTime);
}
}
Je ne comprends pas très bien la sortie. Mon exemple de sortie est la suivante: Heure de début: 558828278 temps d'arrêt: 581239552 temps écoulé: -1610612736
J'ai appuyé sur le bouton d'arrêt peu après (5 secondes environ) après avoir appuyé début. Je m'attendais à ce que l'heure d'arrêt soit plus proche de 558828283 donc quand j'ai soustrait les deux fois, pour voir combien de temps s'est écoulé, j'aurais 5 secondes. Suis-je mal comprendre comment fonctionne la méthode de classe? Merci.
Merci. Pour une raison quelconque, je pensais que% d était pour décimal. – Crystal
Voir [Spécificateurs de format de chaîne] (http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Strings/Articles/formatSpecifiers.html%23//apple_ref/doc/uid/TP40004265). – Anna