Pregunta

Me sentí como que estoy teniendo los mismos problemas abordados aquí.Pero todo lo que intente no parece funcionar.

El programa va como sigue:

  • Estoy pidiendo las credenciales de usuario (nombre de usuario/contraseña)
  • Entonces tengo que hacer algunas llamadas al servidor de la descarga de información.
  • Cuando termine, me muestra un conjunto de usuarios, el usuario hace clic en uno, a continuación, se le pedirá la contraseña para esa cuenta
  • Entonces hago otra solicitud para el servidor y comprobar para ver si puedo obtener la información correcta, (por lo tanto, verificar el nombre de usuario/contraseña dada es correcta)

El problema es que la última llamada es similar (misma url, credenciales diferentes) a uno que yo hago en la descarga inicial.Independientemente de lo que el usuario pone en el segundo credenciales de la "correcta" la información viene de vuelta.Creo que esto es debido a que es el almacenamiento en caché la respuesta, pero no puedo averiguar cómo dejar de hacerlo.

Estoy de tener una clase que realiza la conexión y devuelve los datos descargados.Y yo hacer una nueva clase para cada conexión.Así que no estoy realmente seguro de por qué su almacenamiento de datos.

Tengo un NSMutableURLRequest en la que hago lo siguiente:

 [theRequest setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];

(También he probado, NSURLRequestReloadRevalidatingCacheData y NSURLRequestReloadIgnoringLocalAndRemoteCacheData)

También he implemnted las funciones:

- (NSCachedURLResponse *)connection:(NSURLConnection *)connection   
                  willCacheResponse:(NSCachedURLResponse *)cachedResponse {
return nil;
}

- (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection *)connection {
return NO;
}

Con la última, yo no la entiendes.Así que cansado SÍ y NO.Y he probado varios NSURLRequest las políticas de caché.

Cualquier ayuda por lo que mi problema puede ser que le sería muy útil.Gracias.

¿Fue útil?

Solución

Sólo una conjetura, pero con

NSURLRequestReloadIgnoringLocalAndRemoteCacheData

en lugar de

NSURLRequestReloadIgnoringLocalCachedata

alguna diferencia?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top