gpt4 book ai didi

ios - 10秒后取消加载

转载 作者:行者123 更新时间:2023-11-29 01:17:20 25 4
gpt4 key购买 nike

如果超过 10 秒,我想取消从互联网加载数据,因为只有一个文本。

let date_start = NSDate()

let jsonUrl = "http://example.com"
let session = NSURLSession.sharedSession()
let shotsUrl = NSURL(string: jsonUrl)
let task = session.dataTaskWithURL(shotsUrl!) {
(data, response, error) -> Void in
do {
let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableLeaves ) as! NSDictionary
// saving data
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
print("getJson: \(-date_start.timeIntervalSinceNow)")
});

} catch _ {
// Error
}
}
task.resume()

不知道如何停止加载,我想要这样的东西

var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("check"), userInfo: nil, repeats: true)

func check()
{
if -date_start.timeIntervalSinceNow) > 10.0 {
// stop loading
}
}

谢谢!

最佳答案

let urlconfig = NSURLSessionConfiguration.defaultSessionConfiguration()
urlconfig.timeoutIntervalForRequest = 10
urlconfig.timeoutIntervalForResource = 10
self.session = NSURLSession(configuration: urlconfig, delegate: self, delegateQueue: nil)

根据文档..

timeoutIntervalForRequest - 等待其他数据时使用的超时间隔。每当新数据到达时,与该值关联的计时器就会重置。当请求定时器达到指定的时间间隔没有收到任何新数据时,就会触发超时。

timeoutIntervalForResource - 资源请求所允许的最长时间。该值控制在放弃之前等待整个资源传输的时间。资源计时器在请求发起时启动并计数,直到请求完成或达到此超时间隔,以先到者为准。

关于ios - 10秒后取消加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35007501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com