-startTime和startTime有什么区别?

时间:2016-03-24 01:03:42

标签: ios swift

我正在学习使用Swift的StopWatch项目。终极应用是这样的:

Image

但是,定义类stopWatch时会出现问题。

为什么会出现" - "之前" startTime"?" - startTime"之间的区别是什么?和" startTime"?

我还没有在NSDate类参考文档中找到这个。另外,当我删除" - "时,最终的应用程序没有区别。

代码在这里:

类秒表{

private var startTime: NSDate?

var elapsedTime: NSTimeInterval {
    if let startTime = self.startTime {
        return -startTime.timeIntervalSinceNow
    } else {
        return 0
    }
}

1 个答案:

答案 0 :(得分:0)

属性timeIntervalSinceNow正是这样:从现在起到该日期为止的时间间隔(秒)(在本例中为startTime)。假设startTime是未来15秒内的日期,那应该给你+15秒。

但是你的应用是一个秒表:startTime是过去的日期(即你开始计时器的那一刻)所以timeIntervalSinceNow可能会给你负秒数,因为您正在计算“时间倒流”(即,启动现在并计算直到某个日期过去)。这就是为什么你需要减号:这样你就可以获得从开始到现在的(正)秒数。