我創建了一個按鈕,當它被點擊時,我的應用程序開始下載存儲在數組中的json數據庫。如何設置時間限制下載數據(來自json數據庫)Swift 2
當我開始下載數據庫時,有時互聯網非常慢,設備無法下載內容,即使用戶沒有獲得所需的數據,用戶仍然可以使用該應用程序。
我想要的是一個計時器或計數器,當請求時間超過1分鐘時提醒用戶,並顯示消息「無法連接互聯網」或「下載數據庫速度太慢」。
我想你給我至少一個想法,因爲我甚至不知道去搜一下:(
謝謝
UPDATE:這是我一直的代碼走到這一步。
覆蓋FUNC viewDidLoad中(){ super.viewDidLoad()
let url = NSURL(string: "http://146.83.128.64/tongoy/g.php?&sala=-1&curso=-1&profesor=-1&semestre=-1&semestrec=-1&carrera=-1&area=-1")!
let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data, response, error) -> Void in
if let urlContent = data {
do {
let jsonResult = try NSJSONSerialization.JSONObjectWithData(urlContent, options: NSJSONReadingOptions.MutableContainers)
for json in jsonResult as! Array<AnyObject> {
if let area = json["area"] as? String {
self.arregloArea.append(area)
}
if let id = json["id"] as? Int {
self.arregloID.append(id)
}
if let curso = json["curso"] as? String {
self.arregloCursos.append(curso)
}
if let carreras = json["carreras"] as? Array<AnyObject> {
for item in carreras {
if let id = item["id"] as? Int {
print(id)
}
if let nombre = item["nombre"] as? String {
print(nombre)
}
if let semestre = item["semestre"] as? Int {
print(semestre)
}
if let curso = item["curso"] as? Int {
print(curso)
}
}
}
}
} catch {
print("JSON serialization failed")
}
dump(arregloCursos)
dump(arregloArea)
dump(arregloID)
}
}
task.resume()
}
你是如何下載數據的?您可能會使用一個超時屬性。 –
'NSURLSession'是廣泛定製的。 – vadian
顯示您的代碼。你如何下載你的數據?你應該使用URLSession。您還可以確保設備使用可達性連接到WiFi網絡 –