如何在NSDate中存储定时传递

时间:2013-09-13 19:13:47

标签: ios nsdate nstimer nstimeinterval

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

1 个答案:

答案 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
}