2009-07-11 60 views
1

我覺得我遇到的問題與here相同。但是我所嘗試的一切似乎都不起作用。在iPhone緩存上下載?

程序的進展如下:

  • 我詢問用戶憑據(用戶名/密碼)
  • 然後我做服務器下載信息幾個電話。
  • 當它完成後,我顯示一組用戶,用戶點擊一個,然後詢問該帳戶的密碼
  • 然後我再向服務器發出一個請求,並檢查是否獲得正確的信息(因此驗證剛纔給出的用戶名/密碼是正確的)

問題是,最後一次調用與我在初始下載時執行的調用類似(相同的url,不同憑據)。無論用戶爲第二憑證放入什麼,「正確」的信息都會回來。我認爲這是因爲它正在緩存響應,但我無法弄清楚如何阻止它做到這一點。

我有一個類,使連接並返回下載的數據。我爲每個連接都創建一個新班級。所以我不太確定它爲什麼保存數據。

我有一個NSMutableURLRequest中,我做到以下幾點:

[theRequest setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData]; 

(我也嘗試過,NSURLRequestReloadRevalidatingCacheData和​​)

我也implemnted功能:

- (NSCachedURLResponse *)connection:(NSURLConnection *)connection 
        willCacheResponse:(NSCachedURLResponse *)cachedResponse { 
return nil; 
} 

- (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection *)connection { 
return NO; 
} 

與最後一個我不完全理解它。所以我累了YES和NO。我試過各種NSURLRequest緩存策略。

對我的問題可能會有幫助的任何幫助將是非常有幫助的。謝謝。

回答

2

只是一個猜測,但將使用

NSURLRequestReloadIgnoringLocalAndRemoteCacheData 

而不是

NSURLRequestReloadIgnoringLocalCacheData

有什麼區別?

+0

我甚至不知道存在,但沒有,它沒有工作。還有什麼想法? – RyanJM 2009-07-13 04:15:46