我想存储NSDate中已经过的时间量。因此,当一个按钮触发时,我想要一个计时器开始计数,我猜几秒钟,然后存储已经过了多少时间,直到用户点击NSDate中的下一个按钮,所以我可以从另一个NSDate中减去这个值以获得差异使用NSTimeInterval。
NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:(slider.value * 60)];
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:[date timeIntervalSinceNow] target:self selector:@selector(nextFunction) userInfo:nil repeats:NO];
答案 0 :(得分:3)
NSDate
有一个返回timeIntervalSinceDate:
的实例方法NSTimeInterval
按下第一个按钮时,您可以使用[NSDate date]
获取当前数据并将其存储在名为“previousDate”的属性中,然后按下第二个按钮时:您可以再次获取当前数据并计算时间使用以下代码传递的间隔:
- (void)firstButtonTapped {
[self setPreviousDate:[NSDate date]];
}
- (void)secondButtonTapped {
NSTimeInterval timeInterval = [[NSDate date] timeIntervalSinceDate:[self previousDate]];
// timeInterval now contains the amount of time that passed in seconds
}