延迟显示 UIMapView 直到地图在 Swift 中完全加载
Posted
技术标签:
【中文标题】延迟显示 UIMapView 直到地图在 Swift 中完全加载【英文标题】:delay showing UIMapView until map fully loaded in Swift 【发布时间】:2015-06-08 16:49:22 【问题描述】:在我的故事板上,我设置了一个计时器(每 0.01 秒更新一次)和一个 UIMapView,它在加载视图控制器时显示用户的位置。但是,当此屏幕加载时,计时器会延迟一段时间,直到地图完全加载。我认为这是因为地图的加载是在主线程上执行的阻塞函数。
有没有办法在后台加载地图并在完全加载后显示它,同时仍然保持计时器运行?
【问题讨论】:
【参考方案1】:可能不会。地图视图是视图对象,视图对象不是线程安全的。
请注意,Apple 在 NSTimer 上的文档说:
定时器不是实时机制;它仅在其中一个时触发 已添加计时器的运行循环模式正在运行并且能够 检查计时器的触发时间是否已过。由于各种 典型的运行循环管理的输入源,有效分辨率 计时器的时间间隔限制在 50-100 左右 毫秒。
50 毫秒是 0.02 秒。 100 毫秒是 0.04。因此,您不太可能获得所需的准确性。
【讨论】:
啊,有道理。谢谢。以上是关于延迟显示 UIMapView 直到地图在 Swift 中完全加载的主要内容,如果未能解决你的问题,请参考以下文章