2011-01-11 15 views
5

iPhone'da iki olay arasında geçen saniye sayısını hesaplamam gerekiyor. Bunu yapmak için, ilk olayın gerçekleştiği zamanı kaydetmem ve ikinci etkinliğin 30 saniyeden daha uzun bir süre geçip geçmediğine bakmak için kontrol etmem gerekiyor.iOS Geliştirme: İki olay arasında geçen saniye sayısını hesaplamanın basit bir yolu nedir?

NSDate sınıfını kullanarak bunu gerçekleştirmeye çalışmaya başlamak üzereyim, ama nesneleri kullanmadan bunu yapmak için daha basit bir yol olup olmadığını merak ettim, çünkü nesneler yerine basit, içsel değerleri depolamayı tercih ederim.

Bilginiz için teşekkürler!

cevap

7

gibi bir şey yapabilirsiniz:

double startTime = [[NSDate date] timeIntervalSince1970]; 

//Run your other code 

double endTime = [[NSDate date] timeIntervalSince1970]; 

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

Şu anda iki nesne kullanıyorsunuz. . . – jsedano

0

UIEvent'ın timestamp sürümünü gördünüz mü?

örnek: olay1 ve event2 doğal olarak gelen olaylardır

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

0

Sen [NSDate dateWithTimeIntervalSinceReferenceDate:anotherDate]; kullanabilir veya initWithTimeIntervalSinceReferenceDate kullanabilirsiniz: Eğer gerçekten nesneleri depolamak önlemek istiyorsanız yöntem

İlgili konular