2011-12-25 47 views
2

我不知道如何處理這個具體問題:異步調用(特別是iOS的地理編碼)

我創建一個地方的對象,而它與地理緯度,長着一雙初始化。然後我使用iOS地理編碼器獲取該座標的地址。我想將該地址設置爲我的一個實例變量。但是,這個異步調用並沒有及時完成,因此當我實例化對象並嘗試顯示地址時,它尚未完成。有什麼策略來處理這個問題和類似的問題?

謝謝!聖誕節快樂!

回答

1

我不想在聖誕節前夕創建一個廣泛的答案,所以我現在給出一個簡短的答案,如果您有問題和/或想了解更多詳細信息,稍後再編輯它。

異步請求都具有委託/協議方法,讓您知道請求何時失敗或成功。您應該使用NSNotification API並將任何需要該地址的對象註冊爲在對象完成請求時觸發的通知。當對象接收到通知時,它可以配置其視圖或任何需要執行的操作。在requestDidFinish(或其他)方法中,您應該發送通知。

看看這篇文章的詳細信息(以及有關線程一些很酷的東西!):http://www.raywenderlich.com/4295/multithreading-and-grand-central-dispatch-on-ios-for-beginners-tutorial

+0

真棒,謝謝! – Mason 2011-12-25 17:44:00

+0

不客氣!我剛剛開始閱讀iOS多線程等,並在幾天前遇到了這篇文章,所以這是個好時機。非常酷的東西。 – 2011-12-25 17:57:02