2011-11-01 77 views
2

我使用CLGeocoder來對地址列表進行地址解析,以便某些類型的信息可以通過UITableView顯示給用戶。然而,每當地址解析請求完成所有CLGeocoder地理編碼和反向地理編碼方法需要作爲一個參數,從程序的其餘部分異步運行的代碼塊:強制CLGeocoder塊代碼同步運行

- (void)geocodeAddressString:(NSString *)addressString 
completionHandler:(CLGeocodeCompletionHandler)completionHandler 

有沒有辦法迫使這代碼同步運行(即強制程序等待地理編碼請求完成並等待它在處理程序之前由處理程序處理)

回答

4

不,沒有。如果有的話,這將是一個非常糟糕的主意(至少如果你在主線程上異步運行)。您無法控制地理編碼過程需要多長時間(如果服務器超時,可能需要幾十秒),如果花費時間超過5秒鐘,操作系統的監視程序計時器將立即終止您的應用程序,因爲它不再響應。