本文介绍了如何在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的共享管理器中取消所有请求
发布评论