1
想知道,因爲副作用可能是提醒用戶,如果沒有獲取緩存數據,新數據可用。餿主意?希望不必計算數據的校驗和並將其存儲以供以後進行比較(儘管我可能能夠使用http響應的「最後修改」日期而不是校驗和)。如何確定NSURLConnection:sendSynchronousRequest是否正在返回緩存數據
想知道,因爲副作用可能是提醒用戶,如果沒有獲取緩存數據,新數據可用。餿主意?希望不必計算數據的校驗和並將其存儲以供以後進行比較(儘管我可能能夠使用http響應的「最後修改」日期而不是校驗和)。如何確定NSURLConnection:sendSynchronousRequest是否正在返回緩存數據
NSURLConnectionDelegate協議有一個connection:willCacheResponse:方法。當NSURLConnection接收並隨後緩存響應時調用此方法。因此它爲您提供了一個掛鉤,您可以在其中設置一個標誌來指示緩存正在使用中。或者,如果您想完全禁用緩存,則可以從您的實現中返回零。
值得注意的一點是,如果您的委託管理多個NSURLConnections,則需要使用connection:參數確定哪一個是響應的來源。
好吧,所以它看起來像我必須去異步使用委託。太糟糕了,因爲我已經在一個後臺循環中執行提取(加上你提出的另一個問題)。也許這會更容易採取第二種選擇,並嘗試強制本地優先。好,謝謝。 – DavidN