单击时我创建了一个按钮,我的应用程序开始下载存储在数组中的json数据库。
当我开始下载数据库时,互联网很慢,设备无法下载内容,即使用户没有获得所需的数据,用户仍然可以使用该应用程序。
我想要的是计时器或计数器,当请求时间超过1分钟时会向用户发出警报,并显示“无网络连接”或“下载数据库太慢”的消息。
我希望你至少给我一个想法,因为我甚至不知道要搜索什么:(
谢谢你!更新:这是我到目前为止的代码。
覆盖func viewDidLoad(){ super.viewDidLoad()
# LIST OF COMTRADE DATA (LENGTH EQUAL TO INPUT LIST)
comtrade_data <- lapply(ls_reporters, function(i) {
Sys.sleep(1)
tmp <- get.Comtrade(r=i, p="0", freq="M", ps="all",
cc="842520", rg="2", fmt="csv")
df <- as.data.frame(do.call(rbind, tmp))
return(df)
})
# NAME EACH ELEMNT OF NEW LIST BY PREFIXING "q"
comtrade_data <- setNames(comtrade_data, paste0("df_q", ls_reporters))
# CREATE df_q1, df_q2, df_q3, ... AS INDIVIDUAL OBJECTS
list2env(comtrade_data, envir=.GlobalEnv)
# EVEN ROW BIND TO DATAFRAME (IF ELEMENTS HAVE SAME EXACT ONE-LEVEL DATA STRUCTURE)
df <- do.call(rbind, comtrade_data)
答案 0 :(得分:0)
let request = NSMutableURLRequest(URL: url!, cachePolicy: .ReloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 5.0)
这将获取您的JSON数据库的URL,设置为变量url
,然后以5.0秒的超时间隔请求它,您可以根据自己的需要进行调整!祝你好运
更新:
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 request = NSMutableURLRequest(URL: url)
let taskConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
taskConfiguration.timeoutIntervalForRequest = 10
taskConfiguration.timeoutIntervalForResource = 10
self.session = NSURLSession(configuration: taskConfiguration, delegate: self.delegates, delegateQueue: nil)
let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
let json:JSON = JSON(data: data!)
onCompletion(json, error)
})
注意:
现在您已超时,如果您没有收到数据返回/超时,则必须处理。因此,请检查您的数据== nil,或者您的偏好是什么,并做一些事情,以避免崩溃。
内容:
基本上,您正在创建自己的NSURLSessionConfiguration,然后根据您应用的配置启动会话。