0

我想存储在 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];
4

1 回答 1

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
}
于 2013-09-13T19:16:29.863 回答