Używam NSURLRequest z CachePolicy, aby pobrać plik plist w NSData. Gdy zmieniam zawartość mojego plist, moja aplikacja ignoruje to i nadal prezentuje zawartość, która jest w pamięci podręcznej. Jak długo trwa pamięć podręczna? Jeśli tak, to czy istnieje opcja określenia czasu przechowywania danych w pamięci podręcznej? Czy istnieje sposób sprawdzenia NSURLRequest, czy dane na serwerze są nowsze niż pamięć podręczna ładowania danych z serwera lub jeśli jest równa pamięci podręcznej korzystać z pamięci podręcznej?Zasady dotyczące pamięci podręcznej NSURLRequest
5
A
Odpowiedz
2
Zobacz Controlling Response Caching w URLLoadingSystem docs.
Możesz dodać swoją datę w metodach delegata
-(NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse
Znacznie łatwiej z systemem buforowania jest ASIHTTPRequest. Polecam użyć tego systemu ładowania adresu URL.
Z Dokumenty jabłek:
Przykład listingu 6 zapobiega buforowanie https odpowiedzi. To dodaje również bieżącą datę do słownika informacji użytkownika dla odpowiedzi , które są buforowane.
-(NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse
{
NSCachedURLResponse *newCachedResponse = cachedResponse;
if ([[[[cachedResponse response] URL] scheme] isEqual:@"https"]) {
newCachedResponse = nil;
} else {
NSDictionary *newUserInfo;
newUserInfo = [NSDictionary dictionaryWithObject:[NSCalendarDate date]
forKey:@"Cached Date"];
newCachedResponse = [[[NSCachedURLResponse alloc]
initWithResponse:[cachedResponse response]
data:[cachedResponse data]
userInfo:newUserInfo
storagePolicy:[cachedResponse storagePolicy]]
autorelease];
}
return newCachedResponse;
}
Powiązane problemy
- 1. Ładowanie Alamofire z pamięci podręcznej nawet przy ustawieniu zasad pamięci podręcznej na ReloadIgnoringLocalAndRemoteCacheData
- 2. Zalecenia dotyczące pamięci podręcznej Open Source w języku C++
- 3. Czyszczenie pamięci podręcznej UIWebView w Swift
- 4. Usługa pamięci podręcznej w pamięci podręcznej - Tridion 2011 SP1
- 5. Android: Strategia pamięci podręcznej obrazu i rozmiar pamięci podręcznej
- 6. Spring + Hibernate: Planowanie pamięci podręcznej Wykorzystanie pamięci podręcznej
- 7. Wygasanie pamięci podręcznej operacji z niestandardową ścieżką pamięci podręcznej
- 8. Uzyskiwanie dostępu do plików w pamięci podręcznej rozproszonej pamięci podręcznej
- 9. Czyszczenie pamięci podręcznej ActiveRecord
- 10. rozproszona technologia pamięci podręcznej
- 11. Wymuś usunięcie pamięci podręcznej
- 12. Maksymalny rozmiar pamięci podręcznej
- 13. Błędy pamięci podręcznej AppFabric
- 14. Zasady i przepisy dotyczące pracy w jenkinsach
- 15. Plik manifestu pamięci podręcznej Html5 w UIWebView?
- 16. WKWebView Manifest pamięci podręcznej nie działa IOS8
- 17. Ile bajtów kontroler pamięci podręcznej pobiera czas z pamięci głównej do pamięci podręcznej L2?
- 18. Czyszczenie pamięci podręcznej obrazów Picasso
- 19. Objaśnienie domyślnego bufora/pamięci podręcznej
- 20. Czy file_get_contents używa pamięci podręcznej?
- 21. Capifony nie ociepli pamięci podręcznej
- 22. Chromecast: wyczyszczenie pamięci podręcznej odbiornika
- 23. Tabele statyczne pamięci podręcznej Mysql
- 24. Czyszczenie pamięci podręcznej zależności Grails
- 25. Nagłówki buforowania pamięci podręcznej MVC4
- 26. Prosta implementacja pamięci podręcznej ASP.NET
- 27. Brakujące błędy w pamięci podręcznej?
- 28. Lista zawartości pamięci podręcznej lakierów?
- 29. Ponowne próby pamięci podręcznej IIS
- 30. Wysoka częstość współbieżności dla pamięci podręcznej
Dzięki. Ustawiłem teraz na zero. Ale jak sprawić, aby pamięć podręczna pozostała przez pewien czas lub sprawdzić, czy dostępne są nowsze dane z serwera? – halloway4b
zaktualizowałem moją odpowiedź –
iOS 6.1 SDK dokumentacja stwierdza co następuje: połączenia: willCacheResponse: Wysłane przed połączenie przechowuje w pamięci podręcznej odpowiedź w pamięci podręcznej, aby dać pełnomocnikowi możliwość jej zmiany. (wymagane) (Dostępne w systemie iOS 2.0 do iOS 4.3.) – cynistersix