我在我的應用中使用ASIHttpRequest庫,我試圖爲特定請求設置緩存,以便它可以在一段時間內使用(if沒有數據可以從服務器或沒有互聯網連接),除此之外它會拒絕/刪除緩存,所以不會使用它。ASIHttpRequest - 在特定時間間隔後刪除緩存
所以我試圖得到的請求是,首先檢查它是否可以在線檢索數據,如果它無法訪問它(無論出於何種原因,服務器關閉或沒有Internet連接可用),然後使用緩存,只要它沒有過期。我希望設置一定的時間,比如12小時之後將數據保存到緩存中。
我試過到目前爲止是:
// Set secondsToCache on the request to override any expiry date for the content set by the server, and store
// this response in the cache until secondsToCache seconds have elapsed
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setSecondsToCache:60*60*24*30]; // Cache for 30 days
這是從網站上的示例獲取的。
但是,如上所述,這似乎沒有我想要的效果。
如何將數據緩存一段時間,之後將其從緩存中刪除?
你會看到什麼發生? – JosephH
沒有效果 - 我用2分鐘的時間間隔測試了它,所以我將setSecondsToCache中的秒數設置爲60 * 2,並等待3分鐘,並且當我將iPhone設置爲飛行模式時仍然使用緩存的數據。所以它似乎沒有任何影響。 – SMSidat
你在請求上設置了什麼cachePolicy? – JosephH