我无法理解这句话的含义。
-(void) locationManager:(CLLocationManager *) manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
if ([newLocation.timestamp timeIntervalSince1970] < [NSDate timeIntervalSinceReferenceDate] - 60)
return;
}
timeIntervalSinceReferenceDate返回接收者与2001年1月1日格林威治标准时间第一瞬间之间的间隔。
我们如何比较1970年和2001年?
答案 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。