2011-01-11 20 views
5

Tôi cần tính số giây đã trôi qua giữa hai sự kiện trên iPhone. Để làm như vậy, tôi cần phải lưu trữ thời gian xảy ra sự kiện đầu tiên và kiểm tra nó vào thời điểm sự kiện thứ hai xảy ra để xem có hơn 30 giây trôi qua hay không. Tôi muốn bắt đầu cố gắng thực hiện điều này bằng cách sử dụng lớp NSDate, nhưng tôi tự hỏi liệu có cách đơn giản hơn để thực hiện điều này mà không sử dụng các đối tượng hay không, vì tôi muốn lưu trữ các giá trị nội tại đơn giản thay vì các đối tượng.Phát triển iOS: Cách đơn giản để tính số giây đã trôi qua giữa hai sự kiện là gì?

Cảm ơn sự thông thái của bạn!

Trả lời

7

Nếu bạn thực sự muốn tránh lưu trữ đối tượng , bạn có thể làm điều gì đó như:

double startTime = [[NSDate date] timeIntervalSince1970]; 

//Run your other code 

double endTime = [[NSDate date] timeIntervalSince1970]; 

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

Bạn đang sử dụng hai đối tượng ngay tại đó. . . – jsedano

0

bạn đã xem số timestamp của UIEvent chưa?

dụ:

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"); 
    } 
} 

nơi EVENT1 và event2 là một cách tự nhiên các sự kiện đến

0

Bạn có thể sử dụng [NSDate dateWithTimeIntervalSinceReferenceDate:anotherDate]; hoặc sử dụng initWithTimeIntervalSinceReferenceDate: Phương pháp

Các vấn đề liên quan