如何在Alamofire的共享管理器中取消所有请求 [英] How to cancel all requests in Alamofire's shared manager
本文介绍了如何在Alamofire的共享管理器中取消所有请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何取消Alamofire共享管理器中的所有请求?
How to cancel all requests in Alamofire's shared manager?
这是我的功能:
class func cancelAllRequests() {
Alamofire.Manager.sharedInstance.session.getTasksWithCompletionHandler { (dataTasks, uploadTasks, downloadTasks) in
self.each(dataTasks, function: self.cancel)
self.each(uploadTasks, function: self.cancel)
self.each(downloadTasks, function: self.cancel)
}
}
class func cancel(index: Int, element: AnyObject) {
if let task = element as? NSURLSessionTask {
task.cancel()
}
}
class func each<T>(array: [T], function: (Int, T) -> ()) {
for (index, t) in enumerate(array) {
function(index, array[index])
}
}
它可以工作吗?
推荐答案
使用 NSURLSession
的 invalidateAndCancel
方法:
manager.session.invalidateAndCancel
这篇关于如何在Alamofire的共享管理器中取消所有请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文