我正在寫一個簡單的應用程序,從web服務中獲取數據並將其顯示給用戶。我有一個標籤,一個UIViewController
,我有一個代碼如下:如何繼續檢查我的Swift應用程序是否具有Internet連接?
override func viewDidLoad() {
super.viewDidLoad()
activityIndicator.hidesWhenStopped = true
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.myLabel.text = ""
activityIndicator.startAnimating()
Alamofire.request(.GET, "http://mywebservice.com/fetchData")
.responseJSON { response in
switch response.result {
case .Success:
self.activityIndicator.stopAnimating()
if let value = response.result.value {
let json = JSON(value)
print("JSON: \(json)")
let numberOfUsers = json["usersNo"]
self.myLabel.text = "We found \(numberOfUsers) users in database"
}
case .Failure(let error):
print("SWITCH ERROR")
print(error)
}
}
}
當用戶進入這個小組,他看到了活動的指標運行,直到取數據時 - 當它發生的活動指示燈消失,myLabel
充滿與數據。這可以正常工作,但是當用戶在短暫的時間內沒有連接互聯網並進入面板時,獲取請求將不會返回任何數據,並且指示器會繼續移動。在這種情況下,繼續檢查互聯網連接是否存在以及是否有可能獲取數據將會很好。
我該如何繼續檢查互聯網連接是否處於活動狀態 - 如果是 - 隱藏我的活動指示器並顯示提取的數據?
謝謝,但它不完全是我期望的應用程序的行爲...只要用戶處於離線狀態,並且只要他檢索到互聯網連接,我就想顯示該指標,然後我想隱藏指示器並顯示新獲取的數據... – user3766930
互聯網正在試錯。通過嘗試連接併成功或失敗,您知道自己是否有連接。沒有一些可以做的魔術元測試。 – matt
當然:)但是當我第一次連接失敗時,我想重複這個過程(嘗試連接),直到我終於有一個連接 - 同時我想顯示指示器視圖。這是我不知道該怎麼做的部分,以及爲什麼我問這個問題的原因:) – user3766930