2012-12-11 35 views
2

我是iOS新手,正在開發一個應用程序與地圖交互。iOS上的懶惰執行技術

這裏的情況:

我regionDidChangeAnimated時發送一些點數據的請求:代表呼籲。 我正在使用AFNetworking。 但是如果過度滾動地圖會對服務器造成沉重的請求。

在過度的地圖滾動過程中,每個「觸摸」結束了'regionDidChangeAnimated', 所以如果可能的話,我想以懶惰的方式提出這個請求。

我覺得這個是: 在regionDidChangeAnimated,抱在發送一段時間(0.2秒或半秒)的請求, 如果沒有更多的regionDidChangeAnimated發生,那麼火請求到服務器。

請任何建議。

回答

2

您可以使用NSTimer來做到這一點。當您撥打regionDidChangeAnimated時,請將定時器設置爲0.2秒。如果定時器到期,操作系統將調用您告訴定時器打電話的任何內容,然後如果沒有發生其他regionDidChangeAnimated調用,則可以向服務器發送請求。

+0

完美!這就是我想要的。謝謝@Greg。 如果SO允許,我會將其標記爲答案。這需要一些時間... –