2014-03-01 42 views
2

我正在開發一個iPhone應用程序項目現在實現一些使用NSURLRequests使用cachePolicy:NSURLCacheStorageNotAllowed(我使用ios 7)連接。NSURLCacheStorageNotAllowed仍緩存NSURLRequest

但它似乎仍然緩存了響應,並且對於相同的URL調用,我得到了舊的響應。儘管緩存策略爲"cachePolicy:NSURLCacheStorageNotAllowed".

爲什麼它仍然緩存響應?問題仍然存在於最新版本中?

+0

+ Piyali您的問題通常被嚴重標記。通常情況下,至少將語言添加爲標籤是合理的,因此處理相關技術的人員很容易找到它。 –

回答

3

的緩存策略正確枚舉通過如下方式iOS7:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:downloadURL 
cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60]; 

如果你是在3G,一些供應商使用緩存即使你在NSMutableURLRequest禁用它,所以如果緩存策略沒有按」 t工作,然後將http標頭字段緩存控制設置爲no-cache。

[request setValue:@"no-cache" forHTTPHeaderField:@"cache-control"]; 

這裏的枚舉檢查你的頭NSURLRequest.h正確的最新枚舉:)

enum 
{ 
    NSURLRequestUseProtocolCachePolicy = 0, 

    NSURLRequestReloadIgnoringLocalCacheData = 1, 
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented 
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData, 

    NSURLRequestReturnCacheDataElseLoad = 2, 
    NSURLRequestReturnCacheDataDontLoad = 3, 

    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented 
}; 
typedef NSUInteger NSURLRequestCachePolicy; 
相關問題