Я хочу отменить загрузку данных из Интернета, если это занимает более 10 секунд, потому что есть только один текст.Отмена загрузки после 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
}
}
Спасибо!
Почему это не работает? Запустите «таймер» сразу после метода отправки. Используйте 'timer.invalidate', чтобы остановить таймер. – MikeG
, потому что нет ничего, где '// stop loading' – aaisataev
О, название вопроса заставило его звучать так, как будто оно связано с синхронизацией или связано с таймером – MikeG