我是iOS的新手,正在开发与地图交互的应用程序。
情况如下:
在regionDidChangeAnimated:委托调用时,我必须发送一些点数据的请求。
我为此使用AFNetworking。
但是如果地图过度滚动会导致对服务器的大量请求。
在地图过度滚动期间,每个“Touch Up”都以“regionDidChangeAnimated”结尾,
因此,如果可能的话,我想以懒惰的方式提出此请求。
我对此的想法是:
在regionDidChangeAnimated中,保持在特定时间(0.2秒或半秒)内发送请求,
如果没有更多的regionDidChangeAnimated事件,则将请求发送到服务器。
请提出任何建议。
最佳答案
您可以使用 NSTimer
进行此操作。收到regionDidChangeAnimated
调用后,将计时器设置为0.2秒。如果计时器到期,则操作系统将调用您告诉计时器的任何内容,然后,如果未发生其他regionDidChangeAnimated
调用,则可以向服务器发出请求。