2011-01-11 13 views
5

मुझे आईफोन पर दो घटनाओं के बीच पारित सेकंड की संख्या की गणना करने की आवश्यकता है। ऐसा करने के लिए, मुझे उस समय को स्टोर करने की आवश्यकता है जब पहली घटना हुई और 30 सेकंड से अधिक समय बीतने के बाद दूसरी घटना के दौरान इसे जांचें।आईओएस विकास: दो घटनाओं के बीच पारित सेकंड की संख्या की गणना करने का एक आसान तरीका क्या है?

मैं एनएसडीएटी कक्षा का उपयोग करके इसे पूरा करने की कोशिश करना शुरू कर रहा हूं, लेकिन मैं सोच रहा था कि वस्तुओं का उपयोग किए बिना ऐसा करने का एक आसान तरीका है, क्योंकि मैं वस्तुओं के बजाय सरल, आंतरिक मूल्यों को स्टोर करना पसंद करूंगा।

आपके ज्ञान के लिए धन्यवाद!

उत्तर

7

तुम सच में वस्तुओं के भंडारण से बचना चाहते हैं , आप कुछ ऐसा कर सकते हैं:

double startTime = [[NSDate date] timeIntervalSince1970]; 

//Run your other code 

double endTime = [[NSDate date] timeIntervalSince1970]; 

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

आप वहां दो वस्तुओं का उपयोग कर रहे हैं। । । – jsedano

0

क्या आपने UIEvent के timestamp देखा है?

उदाहरण:

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

जहां EVENT1 और event2 स्वाभाविक रूप से भेजे घटनाओं हैं

0

आप [NSDate dateWithTimeIntervalSinceReferenceDate:anotherDate]; का उपयोग करें या initWithTimeIntervalSinceReferenceDate उपयोग कर सकते हैं: विधि

संबंधित मुद्दे

 संबंधित मुद्दे