假設我有一個應用程序從網絡獲取數據,然後在應用程序中顯示這些數據。但有時互聯網會斷開連接,所以我會顯示'互聯網不可用'的信息。但我想讓用戶忙於應用程序。所以我想要做下面的事情,但是實施中存在一些問題。連接和斷開網絡故障排除
1)當網絡斷開連接時我想顯示消息'網絡斷開連接',並且我想將所有數據存儲在數據庫中。 問題:如何知道網絡不可用,而又沒有發生任何事件?
2)當網絡連接時,我想獲取數據並存儲在緩衝區中。 問題:同樣,我將如何知道網絡現在可用?
假設我有一個應用程序從網絡獲取數據,然後在應用程序中顯示這些數據。但有時互聯網會斷開連接,所以我會顯示'互聯網不可用'的信息。但我想讓用戶忙於應用程序。所以我想要做下面的事情,但是實施中存在一些問題。連接和斷開網絡故障排除
1)當網絡斷開連接時我想顯示消息'網絡斷開連接',並且我想將所有數據存儲在數據庫中。 問題:如何知道網絡不可用,而又沒有發生任何事件?
2)當網絡連接時,我想獲取數據並存儲在緩衝區中。 問題:同樣,我將如何知道網絡現在可用?
這是很常見的問題,最好用Reachability
類來解決。
你可以找到一個很好的手冊在這裏:Testing Network Reachability
和快速的答案是公認的答案在這裏:
但要知道,這是最好的檢查主機availabiility。當設備連接到AdHoc WiFi(沒有互聯網連接)時,我測試了這個代碼,結果是:通過WiFi可以上網。所以如果你想確定 - 使用主機狀態。
編輯:這可能是對SO最好的例子(回答iWasRobbed):
How to check for an active Internet connection on iOS or OSX?