延迟显示UIMapView,直到地图在Swift中完全加载

时间:2015-06-08 16:49:22

标签: swift ios8 mkmapview

在我的故事板上,我设置了一个计时器(每0.01秒更新一次)和一个UIMapView,它在加载视图控制器时显示用户的位置。但是,当此屏幕加载时,计时器会滞后一点,直到地图完全加载。我假设这是因为地图的加载是在主线程上执行的阻塞功能。

有没有办法在后台加载地图并在完全加载后显示它,同时还能让计时器继续运行?

1 个答案:

答案 0 :(得分:0)

可能不是。地图视图是视图对象,视图对象不是线程安全的。

请注意,Apple关于NSTimer的文档说:

  

计时器不是实时机制;它只在其中一个发射时发射   已添加计时器的运行循环模式正在运行且能够运行   检查计时器的开火时间是否已经过去。因为各种各样   输入源一个典型的运行循环管理,有效的分辨率   计时器的时间间隔限制在50-100的量级   毫秒。

50 ms是.02秒。 100毫秒是.04。因此,您不太可能获得所需的准确度。