如何设置下载数据的时间限制(来自json数据库)Swift 2

时间:2016-08-27 17:59:33

标签: json swift

单击时我创建了一个按钮,我的应用程序开始下载存储在数组中的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)

1 个答案:

答案 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,然后根据您应用的配置启动会话。