2013-09-28 100 views
1

我創建一個URL請求如下:的NSURLRequest緩存策略枚舉

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:5]; 

參照的緩存策略的開發者文檔,我閱讀以下內容:

enum 
{ 
    NSURLRequestUseProtocolCachePolicy = 0, 
    NSURLRequestReloadIgnoringLocalCacheData = 1, 
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData =4, 
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData, 
    NSURLRequestReturnCacheDataElseLoad = 2, 
    NSURLRequestReturnCacheDataDontLoad = 3, 
    NSURLRequestReloadRevalidatingCacheData = 5 
}; 
typedef NSUInteger NSURLRequestCachePolicy; 

那麼是什麼正確的方法來申請NSURLRequestcachePolicy

要不要我把它定義爲:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:5]; 

或者我應該把它定義爲:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:5]; 

似乎都工作,但一個方法比其他的更好嗎?

+0

感謝張貼這個對我來說..它把你已經新的答案給你自己的問題... – whyoz

+0

@whyoz我有點知道答案。我只是不完全明白我在做什麼。 – wigging

+2

這裏「完全」沒有人瞭解他們在做什麼!哈哈..他這樣的帖子可以幫助我們所有人寧願在這裏搜索,也不願意潛入蘋果公司的文檔中,這些文檔不會像我們爲我們做的那樣裁剪和乾燥。 – whyoz

回答

8

第二種方法更好,因爲稍後您可以輕鬆查看代碼(例如,上次查看它的幾周後),並說「啊,這個請求總是會重新加載,而忽略本地緩存」。否則,你將不得不做一些研究,找出那個神祕的「1」的含義。

+0

+1;使用命名常量(幾乎?)總是要走的路。 – Wevah

+0

@MichaelDautermann好點。只是想澄清在這種情況下使用'enums'。謝謝。 – wigging