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

延迟显示UIMapView,直到地图在Swift中完全加载,swift,ios8,mkmapview,Swift,Ios8,Mkmapview,在我的故事板上,我设置了一个计时器(每0.01秒更新一次)和一个UIMapView,在加载视图控制器时显示用户的位置。但是,当此屏幕加载时,计时器会延迟一段时间,直到地图完全加载。我假设这是因为映射的加载是在主线程上执行的阻塞函数 有没有办法在后台加载地图,并在完全加载后显示它,同时保持计时器运行?可能没有。地图视图是视图对象,视图对象不是线程安全的 请注意,苹果在NSTimer上的文档说: 计时器不是实时机制;只有当其中一个 已添加计时器的运行循环模式正在运行且可启用 检查计时器的启动时间是否

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


有没有办法在后台加载地图,并在完全加载后显示它,同时保持计时器运行?

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

请注意,苹果在NSTimer上的文档说:

计时器不是实时机制;只有当其中一个 已添加计时器的运行循环模式正在运行且可启用 检查计时器的启动时间是否已过。因为各种各样的 输入源一个典型的运行循环管理,有效解决 计时器的时间间隔限制在50-100之间 毫秒


50毫秒是0.02秒。100毫秒是0.04。因此,您不太可能获得所需的准确度。

啊,这是有道理的。谢谢