2011-01-11 13 views
5

Ho bisogno di calcolare il numero di secondi che sono passati tra due eventi su iPhone. Per fare ciò, ho bisogno di memorizzare l'ora in cui si è verificato il primo evento e controllarlo rispetto al momento in cui si è verificato il secondo evento per vedere se sono trascorsi più di 30 secondi.Sviluppo iOS: qual è un modo semplice per calcolare il numero di secondi trascorsi tra due eventi?

Sto per iniziare a provare a farlo usando la classe NSDate, ma mi chiedevo se c'è un modo più semplice per farlo senza usare gli oggetti, poiché preferirei memorizzare semplici valori intrinseci invece di oggetti.

Grazie per la tua saggezza!

risposta

7

Se davvero si vuole evitare di memorizzare oggetti , puoi fare qualcosa come:

double startTime = [[NSDate date] timeIntervalSince1970]; 

//Run your other code 

double endTime = [[NSDate date] timeIntervalSince1970]; 

if (endTime - startTime > 30) { 
    //30 seconds have passed 
} 
+0

Si stanno utilizzando due oggetti proprio lì. . . – jsedano

0

hai visto UIEvent timestamp?

esempio:

double event1Timestamp, event2Timestamp; ///< ivars in your class? 

{ // some function/method body 
    event1Timestamp = event1.timestamp; 
} 

{ // some other function/method body 
    /*** later that day ***/ 
    event2Timestamp = event2.timestamp; 
    if (30 <= (event2Timestamp-event1Timestamp)) { 
    printf("ok, it's been 30 seconds"); 
    } 
} 

dove event1 e Event2 sono naturalmente gli eventi in arrivo

0

È possibile utilizzare [NSDate dateWithTimeIntervalSinceReferenceDate:anotherDate]; o utilizzare l'initWithTimeIntervalSinceReferenceDate: metodo di

Problemi correlati