1

我正在尝试计算(以毫秒为单位)在我的应用程序中完成操作时经过了多少时间。尽管我的应用程序似乎在 NSLog 函数附近崩溃,但我已经阅读了大部分文档并查看了示例。这里解决的所有答案似乎都是专门针对 iOS 的,我正试图让它与 OSX 一起工作。任何帮助或建议将不胜感激 - 谢谢。

- (void)someMethod {

    NSTimeInterval startTime = [[NSDate date] timeIntervalSinceReferenceDate];

    // Do something else
    // Now see how much time went by

    NSTimeInterval endTime = [[NSDate date] timeIntervalSinceReferenceDate];

    double elapsedTime = startTime - endTime;

    NSLog(@"time: %@", elapsedTime);

}
4

2 回答 2

3

另一种方法是获取起始 NSDate。然后要查找经过的时间,请调用[startDate timeIntervalSinceNow].

于 2012-08-05T10:07:33.417 回答
2

您的问题是您正在尝试打印一个对象,%@但时间是双倍的。相反,您应该将最后一行更改为

NSLog(@"time: %f", elapsedTime);

另请注意,startTime - endTime给您一个负时间,因此您可能应该切换顺序以获得正确的持续时间。

于 2012-08-05T08:59:15.207 回答