iOS开发:计算两个事件之间经过的秒数的简单方法是啥?
Posted
技术标签:
【中文标题】iOS开发:计算两个事件之间经过的秒数的简单方法是啥?【英文标题】:iOS Development: What's a simple way to calculate the number of seconds that have passed between two events?iOS开发:计算两个事件之间经过的秒数的简单方法是什么? 【发布时间】:2011-01-11 06:15:12 【问题描述】:我需要计算 iPhone 上两个事件之间经过的秒数。为此,我需要存储第一个事件发生的时间,并将其与第二个事件发生的时间进行对比,看看是否超过 30 秒。
我即将开始尝试使用 NSDate 类来完成此任务,但我想知道是否有更简单的方法可以在不使用对象的情况下完成此任务,因为我更喜欢存储简单的内在值而不是对象。
感谢您的智慧!
【问题讨论】:
【参考方案1】:如果你真的想避免存储对象,你可以这样做:
double startTime = [[NSDate date] timeIntervalSince1970];
//Run your other code
double endTime = [[NSDate date] timeIntervalSince1970];
if (endTime - startTime > 30)
//30 seconds have passed
【讨论】:
【参考方案2】:你可以使用
[NSDate dateWithTimeIntervalSinceReferenceDate:anotherDate];
或使用 initWithTimeIntervalSinceReferenceDate: 方法
【讨论】:
【参考方案3】:你见过 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 自然是传入事件
【讨论】:
以上是关于iOS开发:计算两个事件之间经过的秒数的简单方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章