我確定我錯過了一些東西,答案很簡單,但我似乎無法理解爲什麼會發生這種情況。我試圖讓日期的平均:兩個NSIntegers之和的值不正確
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)]);
}
一切似乎工作確定,除了運行總和+ =(NSInteger的)dateFromString timeIntervalSince1970],它給出了一個不正確的結果。如果我在取兩個相等日期的平均值(2009-10-10,例如,這是一個timeInterval爲1255125600)時設置了斷點,runningSum爲-1784716096,而不是預期的2510251200.
我試過了使用NSNumber和我得到相同的結果。任何人都可以指引我正確的方向嗎?
謝謝!
Antonio
Doh!對不起,我現在感到羞怯。改變了一切,漂浮和漂亮的作品。 再次感謝... – Antonio 2010-05-26 09:25:11