pourquoi le responseCache est nul? J'exécuterais ce post et obtiendrais vraiment le responseObject du cache. Comment puis-je obtenir le responseCache?NSURLCache cachedresponseforrequest aucune donnée
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer.cachePolicy=NSURLRequestReturnCacheDataElseLoad;
[manager POST:URL parameters:paramdic progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSData * data=[NSJSONSerialization dataWithJSONObject:responseObject options:NSJSONWritingPrettyPrinted error:nil];
NSURLCache * cache=[NSURLCache sharedURLCache];
NSCachedURLResponse * responseCache=[cache cachedResponseForRequest:task.originalRequest];
NSCachedURLResponse * response=[[NSCachedURLResponse alloc]initWithResponse:task.response data:data userInfo:nil storagePolicy:NSURLCacheStorageAllowed];
[cache storeCachedResponse:response forRequest:task.originalRequest];
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@",error);
}];
Le code responseCache est ajouté lors de la deuxième exécution. En fait, les données ont été compilées, je peux le trouver en bundle.But deuxième code de temps en cours d'exécution, quand je veux obtenir les données en cache, je trouve son zéro. – AdrienBrody
Etes-vous sûr que cette réponse particulière a été mise en cache (par opposition aux autres demandes)? La réponse à une requête POST n'est jamais, jamais mise en cache sauf si vous avez ajouté du code pour l'insérer de force (ce que vous pouvez faire, mais c'est généralement la mauvaise façon de résoudre le problème). Quel problème tentez-vous réellement de résoudre en vérifiant le cache? – dgatwood
Je suis désolé pour cette réponse après environ une semaine parce que je symbolise un jour férié pour mon entérite.En fait, le problème ne concerne pas POST ou GET. Mais merci pour l'aide pour compris d'eux. Le problème est comment je peux obtenir des données mises en cache que j'ai mises en cache lors de la première application en cours d'exécution. Les requêtes sur deux temps d'exécution ne sont pas un même objet mais l'url est unicité. Pourquoi ne puis-je pas obtenir les données en cache une seconde fois? – AdrienBrody