Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标C,正确计算NSTIME间隔?_Objective C_Macos_Nstimer_Nstimeinterval - Fatal编程技术网

Objective c 目标C,正确计算NSTIME间隔?

Objective c 目标C,正确计算NSTIME间隔?,objective-c,macos,nstimer,nstimeinterval,Objective C,Macos,Nstimer,Nstimeinterval,我试图以毫秒为单位计算在我的应用程序中完成操作的时间。虽然我的应用程序似乎在NSLog函数附近崩溃,但我已经阅读了大部分并查看了示例。这里提到的所有答案似乎都是专门针对iOS的,我正试图通过OSX实现这一点。任何帮助或建议都将不胜感激-谢谢 - (void)someMethod { NSTimeInterval startTime = [[NSDate date] timeIntervalSinceReferenceDate]; // Do something else

我试图以毫秒为单位计算在我的应用程序中完成操作的时间。虽然我的应用程序似乎在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);

}

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

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

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

您的问题是,您正试图使用%@打印对象,但时间是双精度的。相反,您应该将最后一行更改为

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

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

另一种方法是获取开始日期。然后,要查找经过的时间,请调用[startDate TimeIntervalncesInnow]。

另一种方法是获取开始日期。然后,要查找经过的时间,请致电[startDate TimeIntervalencesInnow]。

谢谢-我想这就是问题所在;有没有一种好方法可以格式化输出,使其更具可读性?它现在看起来像:time:-0.039568,所以我更喜欢time:3ms。你可以像@time:%.2f ms,elapsedTime*1000.0。谢谢-我想这就是问题所在;有没有一种好方法可以格式化输出,使其更具可读性?它现在看起来像:time:-0.039568,所以我希望它更像time:3ms。你可以像@time:%.2f ms,elapsedTime*1000.0.Hi这样,谢谢你的替代方法;这样做有什么好处或区别吗?代码更少,我只是觉得它看起来更干净,语义上更能代表你正在做的事情:你想要一个时刻和另一个时刻之间的时间流逝,你真的不想担心参考日期。嗨,谢谢你的替代方法;这样做有什么好处或区别吗?代码更少,我只是觉得它看起来更干净,语义上更能代表你在做什么:你想要一个时刻和另一个时刻之间经过的时间,你真的不想担心参考日期。