2009-12-07 22 views
2

在我的viewcontroller中,我創建了一個MKMapView對象。我委託設置爲自我,並在ViewController中,我實現:mapViewDidFailLoadingMap委託方法被調用時出錯== 0

- (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error 

調用此方法,但在調試器中,我看到error具有價值爲0x0

這發生在設備上,並在模擬器中。

我需要錯誤代碼,因爲我想爲互聯網訪問不可用的情況提供消息,同時忽略諸如(來自API文檔)的情況「如果附加地圖圖塊的請求在前一個請求瓷磚仍在等待「(對我來說這似乎不是一個失敗)

+0

所以在特定的情況下,它是失敗的,你知道爲什麼嗎? (即,您是否在關閉互聯網的情況下進行測試?)您是否總是得到一個零錯誤代碼,或者只是有時候? – 2009-12-07 05:21:54

+0

mapViewDidFailLoadingMap被調用的三種情況: 1)互聯網關閉 2)用戶檢查應用程序不能使用位置 3)互聯網打開,但然後快速滾動(我認爲是「請求額外的地圖瓷磚.. 。「 所有情況下都會給出nil錯誤。 – Alan 2009-12-07 21:01:51

回答

2

我剛做了一些測試。

  1. 因特網關閉時:[錯誤說明] =錯誤域= NSURLErrorDomain代碼= -1009的UserInfo = 0x46c6120 「未連接到互聯網」
  2. 滾動周圍太快:誤差=零(爲0x0)

我不知道是否有其他錯誤情況,但至少可以區分互聯網連接錯誤(在這種情況下,我將顯示警報)和滾動太快的情況下,我會忽略它。

+0

謝謝。看起來我沒有等足夠長時間才能看到非零錯誤。 – Alan 2009-12-15 04:43:10