Отметка. Разница между двумя разами
Я пытаюсь создать приложение с меткой времени, в котором вы фиксируете время одной кнопкой.
Когда кнопка нажата, она печатает текущее время 00:00:00
, Когда кнопка нажата во второй раз, она снова печатает текущее время (т.е. 00:00:15
).
Затем я хочу, чтобы он вычислил разницу во времени между двумя временными метками (10 секунд).
Я новичок в объективе-c, и я часами сижу с этой крошечной проблемой. Было бы неплохо иметь указатель в правильном направлении.
У меня проблемы с timeIntervalSinceDate
, Вот код:
- (IBAction)checkButton:(id)sender {
if (buttonPress) {
self.checkInStamp = [NSDate date];
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[timeFormatter setTimeStyle:NSDateFormatterMediumStyle];
checkInTime.text = [timeFormatter stringFromDate:checkInStamp];
buttonPress = false;
}
else {
self.checkOutStamp = [NSDate date];
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[timeFormatter setTimeStyle:NSDateFormatterMediumStyle];
checkOutTime.text = [timeFormatter stringFromDate:checkOutStamp];
NSTimeInterval timeDifference = [checkOutStamp timeIntervalSinceDate:checkInStamp];
totalDuration.text = @"%d", timeDifference; //<-This gives "Expression result unused on build"
}
}
Спасибо за любую помощь!
1 ответ
Решение
Разница между двумя NSDate
объекты получены с использованием [NSDate timeIntervalSinceDate:]
метод ( ссылка) и выражается как NSTimeInterval
(а typedef
d" double
):
NSTimeInterval difference = [self.checkOutStamp timeIntervalSinceDate:self.checkInStamp];
NSLog(@"Difference is %f seconds", difference);