我无法理解这句话的意思。 [newLocation.timestamp timeIntervalSince1970]< [NSDate timeIntervalSinceReferenceDate] - 60

时间:2011-02-22 10:32:28

标签: iphone nsdate

我无法理解这句话的含义。

-(void) locationManager:(CLLocationManager *) manager 
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation
{
    if ([newLocation.timestamp timeIntervalSince1970] < [NSDate timeIntervalSinceReferenceDate] - 60)
    return;
}

timeIntervalSinceReferenceDate返回接收者与2001年1月1日格林威治标准时间第一瞬间之间的间隔。

我们如何比较1970年和2001年?

3 个答案:

答案 0 :(得分:2)

将其视为最有可能的。一个错字。

书籍也有拼写错误,所有那些急着写下来的书籍(即iOS相关的所有内容)都有很多。

这就是为什么你不应该在不理解代码的情况下复制和粘贴代码。

替换为

if ([newLocation.timestamp timeIntervalSince1970] < [NSDate timeIntervalSince1970] - 60)

if ([newLocation.timestamp timeIntervalSinceReferenceDate] < [NSDate timeIntervalSinceReferenceDate] - 60)

你的选择。

答案 1 :(得分:1)

没有整个背景,很难说清楚。但如果该地点的时间戳接近1970年初,而不是现在到2001年初(-60),则结果为真。

答案 2 :(得分:0)

我不是iPhone开发者,但你可以尝试比较基于毫秒的时间。 (如果是Java,那么Calendar对象可以进行大部分日期比较)但不确定Objective c。