Alamofire se carga desde el caching incluso cuando la política de caching se establece en ReloadIgnoringLocalAndRemoteCacheData

Configuro la política de caching para solicitar en Alamofire que ignore el caching local.

Luego, cargué un viewcontroller con connection de networking, luego desconecté la connection de networking, elimino la aplicación y la ejecuté nuevamente.

Ahora no se muestra ningún error de networking disponible (es decir, alamofire no crea un object nserror) creado, en cambio la aplicación se ejecuta como si la request tuviera éxito al get datos del caching obviamente. Y lo extraño es cuando traté de inspeccionar los datos almacenados en caching usando

NSURLCache.shanetworkingURLCache().cachedResponseForRequest(request) 

nil se devuelve aunque los datos fueron de caching ..

La única manera que pude evitar las respuestas en caching es realizar NSURLCache.shanetworkingURLCache().removeAllCachedResponses()

  let request = NSURLRequest(URL: NSURL(string: url)!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 100) Alamofire.manager.request(method, request, parameters:params) .responseJSON { (request, response, data, error) in if let anError = error { if anError.code == NSURLErrorNotConnectedToInternet { UIAlertView(title: "Alert", message: "No Network Connection Available", delegate: nil, cancelButtonTitle: "ok").show() } } else if let data: AnyObject = data { println(NSURLCache.shanetworkingURLCache().cachedResponseForRequest(request)) //prints nil } } } 

Lo que quiero hacer es cargar datos del caching solo si la connection de networking no está disponible, algo así como el modo fuera de línea limitado. ¿Cómo hacer esto?

Estoy usando esta manera en un proyecto y está funcionando:

 let mutableURLRequest = NSMutableURLRequest(URL: SERVICEURL) mutableURLRequest.HTTPMethod = "POST" mutableURLRequest.HTTPBody = self.createJson() mutableURLRequest.setValue("application/json", forHTTPHeaderField: "Content-Type") mutableURLRequest.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringCacheData request(mutableURLRequest).validate().responseJSON{ response in... 

Espero eso ayude.

Gracias a @ FábioSalata solucioné mi problema de esta manera.

  var req = URLRequest(url: URL(string: "<URL>")!) req.httpMethod = "GET" req.setValue("application/json", forHTTPHeaderField: "Content-Type") req.setValue("<Auth KEY>", forHTTPHeaderField:"Authorization" ) req.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData Alamofire.request(req).validate().responseJSON { response in ...