大佬教程收集整理的这篇文章主要介绍了iOS MKMapShapshotter完成块并不总是被调用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在大多数情况下,这是非常好的.然而有时候,似乎设备会因地图请求而重载,然后停止渲染.在我的日志文件中,我会看到关于“分配的Snapshotter”的第一个日志语句,但是从不看到“Snapshotter完成块”消息.
我的请求是否可能永远不会执行从调度队列?
有没有人有这个问题?
如果网络数据和WiFi关闭,则不会调用完成处理程序(除非操作系统中有缓存的数据 – 请参阅@L_262_9@清除缓存).
实际上,快照器似乎阻止等待数据.它没有超时或检测到没有数据.几分钟后,例如15分钟,snapshotter.isLoading = YEs.调用cancel不会导致完成处理程序被调用.
如果WiFi或网络数据被重新打开,后续的启动(新)快照的调用将调用完成处理程序.
如果在处理程序中启动和清除快照程序时设置了变量,那么这个错误会很严重,因为该变量永远不会被清除.
if (!isRendering) { isRendering = YES; [snapshotter startWithCompletionHandler: ^(MKMapSnapshot* snapshot,NSError* error) { // This may not be called so this code will // never run again. isRendering = NO; }]; }
以上是大佬教程为你收集整理的iOS MKMapShapshotter完成块并不总是被调用全部内容,希望文章能够帮你解决iOS MKMapShapshotter完成块并不总是被调用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。