Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.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 有没有一种方法可以为UIView ToucheSStart获取更精确的计时数据?_Objective C_Ios_Uiview_Touchesbegan - Fatal编程技术网

Objective c 有没有一种方法可以为UIView ToucheSStart获取更精确的计时数据?

Objective c 有没有一种方法可以为UIView ToucheSStart获取更精确的计时数据?,objective-c,ios,uiview,touchesbegan,Objective C,Ios,Uiview,Touchesbegan,我正在编写一个应用程序,在该应用程序中,当用户点击UIView时,获得非常精确的数据将非常有用 传递给touchsbegind:的UIEvent只有以秒为单位的计时数据,这几乎不够精确 因此,从逻辑上讲,下一步似乎是记录触摸开始的时间:使用mach\u absolute\u time()或类似方法调用。这种方法在大多数情况下都能很好地工作,但是如果系统正在做一些非常紧张的工作(特别是在主线程上做UI工作),它看起来像是touchsbegind在循环中被向后推了一点——它仍然会启动,但很晚才启动

我正在编写一个应用程序,在该应用程序中,当用户点击
UIView
时,获得非常精确的数据将非常有用

传递给
touchsbegind:
UIEvent
只有以秒为单位的计时数据,这几乎不够精确

因此,从逻辑上讲,下一步似乎是记录
触摸开始的时间:
使用
mach\u absolute\u time()
或类似方法调用。这种方法在大多数情况下都能很好地工作,但是如果系统正在做一些非常紧张的工作(特别是在主线程上做UI工作),它看起来像是
touchsbegind
在循环中被向后推了一点——它仍然会启动,但很晚才启动

我希望有一个较低级别的解决方案,我可以在信号链的某个点使用它来获取更精确的数据(至少是毫秒级而不是秒级)


当然,我也会尽量让UI线程高效运行,以避免这些延迟,但特别是在较旧的设备上,这些时间上的小问题似乎是不可避免的,这是一种浮点类型,其整数对应于整秒。。。但分数部分包括亚毫秒精度。你确定对你来说不够精确吗?

啊,太好了。老实说,我只是阅读了说明系统正常运行时间(以秒为单位)的文档,甚至没有考虑其中的浮点部分!