私は何かが欠けていると確信しており、答えは非常に簡単ですが、なぜこれが起こっているのか理解できないようです. 私は日付の平均を作ろうとしています:
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] を除いて、すべて正常に動作しているように見えますが、これは正しくない結果をもたらします。2 つの等しい日付 (たとえば、1255125600 の timeInterval である 2009-10-10) の平均をとるときにブレークポイントを設定すると、runningSum は予想される 2510251200 ではなく、-1784716096 になります。
NSNumber を使用してみましたが、同じ結果が得られました。誰かが私を正しい方向に向けることができますか?
ありがとう!
アントニオ