你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS7技巧 >> NSURLRequest緩存策略學習筆記

NSURLRequest緩存策略學習筆記

編輯:IOS7技巧
NSURLRequest緩存網上搜索了了下都有簡單的介紹幾點了,下面我們來給各位總結一下關於NSURLRequest緩存的策略吧,具體的如下所示。

#define kGetURL @”http://api.map.baidu.com/place/v2/search?query=銀行&region=上海&output=json&ak=6E823f587c95f0148c19993539b99295″

#define kPostURL @”http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx”
#define kPostParam @”date=20131129&startRecord=1&len=30&udid=1234567890&terminalType=Iphone&cid=213″

#define kImageURL @”http://image.zcool.com.cn/56/13/1308200901454.jpg”

NSURLRequest初始化方法
第一個參數:請求訪問路徑
第二個參數:緩存策略
第三個參數:網絡請求超時時間(秒)

其中緩存協議是個枚舉類型包含:

NSURLRequestUseProtocolCachePolicy(默認的緩存策略, 如果緩存不存在,直接從服務端獲取。如果緩存存在,會根據response中的Cache-Control字段判斷下一步操作,如: Cache-Control字段為must-revalidata, 則詢問服務端該數據是否有更新,無更新的話直接返回給用戶緩存數據,若已更新,則請求服務端)

NSURLRequestReloadIgnoringLocalCacheData(忽略本地緩存)

NSURLRequestReturnCacheDataElseLoad(首先使用緩存,如果沒有本地緩存,才從原地址下載)

NSURLRequestReturnCacheDataDontLoad(使用本地緩存,從不下載,如果本地沒有緩存,則請求失敗,此策略多用於離線操作)

NSURLRequestReloadIgnoringLocalAndRemoteCacheData(無視任何緩存策略,無論是本地的還是遠程的,總是從原地址重新下載)

NSURLRequestReloadRevalidatingCacheData(如果本地緩存是有效的則不下載,其他任何情況都從原地址重新下載)

補充:

1.NSURLRequestUseProtocolCachePolicy NSURLRequest                  默認的cache policy,使用Protocol協議定義。
2.NSURLRequestReloadIgnoringCacheData                                        忽略緩存直接從原始地址下載。
3.NSURLRequestReturnCacheDataDontLoad                                     只使用cache數據,如果不存在cache,請求失敗;用於沒有建立網絡連接離線模式
4.NSURLRequestReturnCacheDataElseLoad                                     只有在cache中不存在data時才從原始地址下載。
5.NSURLRequestReloadIgnoringLocalAndRemoteCacheData           忽略本地和遠程的緩存數據,直接從原始地址下載,與NSURLRequestReloadIgnoringCacheData類似。
6.NSURLRequestReloadRevalidatingCacheData                              :驗證本地數據與遠程數據是否相同,如果不同則下載遠程數據,否則使用本地數據

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved