Tôi đang sử dụng NSURLRequest với CachePolicy để tải xuống một plist trong NSData. Khi tôi thay đổi nội dung của plist của tôi ứng dụng của tôi là bỏ qua điều này và vẫn trình bày nội dung được lưu trữ. Bộ nhớ cache tồn tại trong bao lâu? Nếu có thì có tùy chọn để nói dữ liệu bộ nhớ cache tồn tại trong bao lâu? Có cách nào để kiểm tra trong NSURLRequest nếu dữ liệu trên máy chủ mới hơn bộ nhớ cache tải dữ liệu từ máy chủ hoặc nếu nó bằng bộ nhớ cache sử dụng bộ nhớ cache?Chính sách bộ nhớ cache của NSURLRequest
5
A
Trả lời
2
Hãy xem Kiểm soát phản hồi bộ nhớ đệm trong URLLoadingSystem docs.
Bạn có thể thêm ngày của riêng bạn trong các phương pháp đại biểu
-(NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse
nhiều dễ dàng hơn với hệ thống bộ nhớ đệm là ASIHTTPRequest. Tôi khuyên bạn nên sử dụng hệ thống tải URL này.
Từ các tài liệu táo:
Ví dụ trong Liệt kê 6 ngăn cản bộ nhớ đệm của https câu trả lời. Nó cũng thêm ngày hiện tại vào từ điển thông tin người dùng cho các câu trả lời được lưu trong bộ nhớ cache.
-(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;
}
Các vấn đề liên quan
- 1. Chính sách bộ nhớ cache iOS
- 2. Chính sách xóa bỏ bộ nhớ cache của ổi
- 3. Restkit Chính sách bộ nhớ cache 20.x
- 4. Bộ nhớ cache, tắt bộ nhớ đệm
- 5. Danh sách nội dung của bộ nhớ cache véc ni?
- 6. UIwebview không có bộ nhớ cache
- 7. Cách xóa bộ nhớ cache của HttpWebRequest
- 8. tạo bộ nhớ cache của mảng byte
- 9. Cách xóa Bộ nhớ Cache của Smarty
- 10. Lấy danh sách các Phím Bộ nhớ Cache ở Django
- 11. CakePHP 2.1: Bộ nhớ cache của trình duyệt vs Xem bộ nhớ cache
- 12. Quản lý bộ nhớ cache của MapView
- 13. Làm mới bộ nhớ cache của Akamai
- 14. Gỡ bỏ bộ nhớ cache khỏi bộ nhớ cache L1 khi xóa L2
- 15. Grails \ Hibernate: Để lưu bộ nhớ cache hoặc không lưu vào bộ nhớ cache?
- 16. SDWebImage xoá bộ nhớ cache
- 17. Bộ nhớ cache dành riêng
- 18. Mod_pagespeed xoá bộ nhớ cache?
- 19. Xóa bộ nhớ cache NSURLConnection
- 20. Xóa bộ nhớ cache ActiveRecord
- 21. Buộc xóa bộ nhớ cache
- 22. Symfony2 tắt bộ nhớ cache?
- 23. Xóa bộ nhớ cache Magento
- 24. Tắt dịch bộ nhớ cache
- 25. Visual Studio không nhớ cache bộ nhớ cache của Microsoft Symbol Server?
- 26. Android - Bộ nhớ cache bitmap chiếm rất nhiều bộ nhớ
- 27. bộ nhớ cache chia sẻ bộ nhớ trong bộ nhớ actorecord
- 28. Chromecast: Cách xóa bộ nhớ cache nhận
- 29. Cách lấy kích thước chính xác của thư mục bộ nhớ cache: android
- 30. activeadmin: lọc bộ nhớ cache giá trị
Thanks.I đặt ngay bây giờ thành không. Nhưng làm thế nào để làm cho bộ nhớ cache ở lại trong một thời gian nhất định hoặc kiểm tra nếu có dữ liệu mới hơn từ máy chủ có sẵn? – halloway4b
Tôi đã cập nhật câu trả lời của mình –
Tài liệu SDK iOS 6.1 nêu rõ: kết nối: willCacheResponse: Đã gửi trước khi kết nối lưu trữ phản hồi được lưu trong bộ nhớ cache, để cho đại biểu có cơ hội thay đổi nó. (bắt buộc) (Khả dụng trong iOS 2.0 đến iOS 4.3.) – cynistersix