0
我想获得两次之间的差异。要找到两次之间的差异
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self setCurrentQuestion];
}
-(void)setCurrentQuestion{
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
startTime = [dateFormatter stringFromDate:[NSDate date]];
date1 = [dateFormatter dateFromString:startTime];
[self answerTapped];
}
-(void)answerTapped{
endtime = [dateFormatter stringFromDate:[NSDate date]];
date2 = [dateFormatter dateFromString:endtime];
[dateFormatter release];
dateFormatter = nil;
NSTimeInterval * timeDifference =[date2 timeIntervalSinceDate:date1];
}
我使用这个代码来获取开始时间和结束时间之间的差异,但我不兼容类型的表达式得到错误的“Inintializing‘NSTimeInterval *’(又名“双‘)’ NSTimeInterval'(又名'双')“在”NSTimeInterval * timeDifference = [date2 timeIntervalSinceDate:date1];“行。这个错误意味着什么?如何解决这个问题?或者请告诉我,我将如何获得时差?请帮忙。
谢谢Danh。我明白了你的观点,但是我的程序没有收到'EXC_BAD_ACCESS'的时差。你能告诉我为什么会发生这种情况吗? – hgpl 2012-03-17 05:19:49
我不认为你需要这些字符串。当你想记录开始时间时,设置date1 = [NSDate date],当你想标记结束时,对date2做同样的处理。你的timeDifference行看起来很好。我对你的崩溃的猜测是date1的过早发布。我可以看到日期和字符串的声明吗? – danh 2012-03-17 05:28:22
是的确实如此。NSString * currenttime; NSString * endtime; NSDate * date1; NSDate * date2; NSDateFormatter * dateFormatter; – hgpl 2012-03-17 05:37:29