在我的故事板上,我设置了一个计时器(每0.01秒更新一次)和一个UIMapView,它在加载视图控制器时显示用户的位置。但是,当此屏幕加载时,计时器会滞后一点,直到地图完全加载。我假设这是因为地图的加载是在主线程上执行的阻塞功能。
有没有办法在后台加载地图并在完全加载后显示它,同时还能让计时器继续运行?
答案 0 :(得分:0)
可能不是。地图视图是视图对象,视图对象不是线程安全的。
请注意,Apple关于NSTimer的文档说:
计时器不是实时机制;它只在其中一个发射时发射 已添加计时器的运行循环模式正在运行且能够运行 检查计时器的开火时间是否已经过去。因为各种各样 输入源一个典型的运行循环管理,有效的分辨率 计时器的时间间隔限制在50-100的量级 毫秒。
50 ms是.02秒。 100毫秒是.04。因此,您不太可能获得所需的准确度。