我确定我遗漏了一些东西,答案很简单,但我似乎无法理解为什么会这样。我正在尝试平均日期:
NSInteger runningSum =0;
NSInteger count=0;
for (EventoData *event in self.events) {
NSDate *dateFromString = [[NSDate alloc] init];
if (event.date != nil) {
dateFromString = [dateFormatter dateFromString:event.date];
runningSum += (NSInteger)[dateFromString timeIntervalSince1970];
count += 1;
}
}
if (count>0) {
NSLog(@"average is: %@",[NSDate dateWithTimeIntervalSince1970:(NSInteger)((CGFloat)runningAverage/count)]);
}
一切似乎都正常,除了 runningSum += (NSInteger)[dateFromString timeIntervalSince1970],它给出了不正确的结果。如果我在取两个相等日期的平均值时放置一个断点(例如,2009-10-10,它的 timeInterval 为 1255125600),runningSum 为 -1784716096,而不是预期的 2510251200。
我试过使用 NSNumber 并且得到相同的结果。谁能指出我正确的方向?
谢谢!
安东尼奥