最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS的HTTP請(qǐng)求和請(qǐng)求回執(zhí)類用法小結(jié)

 更新時(shí)間:2016年06月22日 09:16:19   作者:琿少  
這里為大家整理了iOS的HTTP請(qǐng)求和請(qǐng)求回執(zhí)類用法小結(jié),包括發(fā)送請(qǐng)求的NSURLRequest、NSMutableURLRequest和負(fù)責(zé)回復(fù)的NSURLResponse類的常用方法和屬性,需要的朋友可以參考下

請(qǐng)求類NSURLRequest
NSURLRequest類中常用方法和屬性總結(jié):

//通過類方法創(chuàng)建默認(rèn)的請(qǐng)求對(duì)象
/*
通過這種方式創(chuàng)建的請(qǐng)求對(duì)象 默認(rèn)使用NSURLRequestUseProtocolCachePolicy緩存邏輯 默認(rèn)請(qǐng)求超時(shí)時(shí)限為60s
*/
+ (instancetype)requestWithURL:(NSURL *)URL;
//返回一個(gè)BOOL值 用于判斷是否支持安全編碼
+ (BOOL)supportsSecureCoding;
//請(qǐng)求對(duì)象的初始化方法 創(chuàng)建時(shí)設(shè)置緩存邏輯和超時(shí)時(shí)限
+ (instancetype)requestWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;
//init方法進(jìn)行對(duì)象的創(chuàng)建 默認(rèn)使用NSURLRequestUseProtocolCachePolicy緩存邏輯 默認(rèn)請(qǐng)求超時(shí)時(shí)限為60s
- (instancetype)initWithURL:(NSURL *)URL;
//init方法進(jìn)行對(duì)象的創(chuàng)建
- (instancetype)initWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;
//只讀屬性 獲取請(qǐng)求對(duì)象的URL
@property (nullable, readonly, copy) NSURL *URL;
//只讀屬性 緩存策略枚舉
/*
NSURLRequestCachePolicy枚舉如下:
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
    //默認(rèn)的緩存協(xié)議
    NSURLRequestUseProtocolCachePolicy = 0,
    //無論有無本地緩存數(shù)據(jù) 都進(jìn)行從新請(qǐng)求
    NSURLRequestReloadIgnoringLocalCacheData = 1,
    //忽略本地和遠(yuǎn)程的緩存數(shù)據(jù) 未實(shí)現(xiàn)的策略
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4,
    //無論有無緩存數(shù)據(jù) 都進(jìn)行從新請(qǐng)求
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
    //先檢查緩存 如果沒有緩存再進(jìn)行請(qǐng)求
    NSURLRequestReturnCacheDataElseLoad = 2,
    //類似離線模式,只讀緩存 無論有無緩存都不進(jìn)行請(qǐng)求
    NSURLRequestReturnCacheDataDontLoad = 3,
    //未實(shí)現(xiàn)的策略
    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};
*/
@property (readonly) NSURLRequestCachePolicy cachePolicy;
//只讀屬性 獲取請(qǐng)求的超時(shí)時(shí)限
@property (readonly) NSTimeInterval timeoutInterval;
//主文檔地址 這個(gè)地址用來存放緩存
@property (nullable, readonly, copy) NSURL *mainDocumentURL;
//獲取網(wǎng)絡(luò)請(qǐng)求的服務(wù)類型 枚舉如下
/*
typedef NS_ENUM(NSUInteger, NSURLRequestNetworkServiceType)
{
    NSURLNetworkServiceTypeDefault = 0, // Standard internet traffic
    NSURLNetworkServiceTypeVoIP = 1, // Voice over IP control traffic
    NSURLNetworkServiceTypeVideo = 2, // Video traffic
    NSURLNetworkServiceTypeBackground = 3, // Background traffic
    NSURLNetworkServiceTypeVoice = 4    // Voice data
};
*/
@property (readonly) NSURLRequestNetworkServiceType networkServiceType;
//獲取是否允許使用服務(wù)商蜂窩網(wǎng)絡(luò)
@property (readonly) BOOL allowsCellularAccess;
NSURLRequest請(qǐng)求類除了在初始化時(shí)可以設(shè)定一些屬性,創(chuàng)建出來后則大部分屬性都為只讀的,無法設(shè)置與修改。另一個(gè)類NSMutableURLRequest可以更加靈活的設(shè)置請(qǐng)求的相關(guān)屬性。

NSMutableURLRequest類中常用方法與屬性總結(jié)

//設(shè)置請(qǐng)求的URL
@property (nullable, copy) NSURL *URL;
//設(shè)置請(qǐng)求的緩存策略
@property NSURLRequestCachePolicy cachePolicy;
//設(shè)置超時(shí)時(shí)間
@property NSTimeInterval timeoutInterval;
//設(shè)置緩存目錄
@property (nullable, copy) NSURL *mainDocumentURL;
//設(shè)置網(wǎng)絡(luò)服務(wù)類型
@property NSURLRequestNetworkServiceType networkServiceType NS_AVAILABLE(10_7, 4_0);
//設(shè)置是否允許使用服務(wù)商蜂窩網(wǎng)
@property BOOL allowsCellularAccess NS_AVAILABLE(10_8, 6_0);

NSURLRequest請(qǐng)求對(duì)象與HTTP/HTTPS協(xié)議相關(guān)請(qǐng)求的屬性設(shè)置:

以下屬性的設(shè)置必須使用NSMutableURLRequest類,如果是NSURLRequest,則只可以讀,不可以修改。

//設(shè)置HPPT請(qǐng)求方式 默認(rèn)為“GET”
@property (copy) NSString *HTTPMethod;
//通過字典設(shè)置HTTP請(qǐng)求頭的鍵值數(shù)據(jù)
@property (nullable, copy) NSDictionary<NSString *, NSString *> *allHTTPHeaderFields;
//設(shè)置http請(qǐng)求頭中的字段值
- (void)setValue:(nullable NSString *)value forHTTPHeaderField:(NSString *)field;
//向http請(qǐng)求頭中添加一個(gè)字段
- (void)addValue:(NSString *)value forHTTPHeaderField:(NSString *)field;
//設(shè)置http請(qǐng)求體 用于POST請(qǐng)求
@property (nullable, copy) NSData *HTTPBody;
//設(shè)置http請(qǐng)求體的輸入流
@property (nullable, retain) NSInputStream *HTTPBodyStream;
//設(shè)置發(fā)送請(qǐng)求時(shí)是否發(fā)送cookie數(shù)據(jù)
@property BOOL HTTPShouldHandleCookies;
//設(shè)置請(qǐng)求時(shí)是否按順序收發(fā) 默認(rèn)禁用 在某些服務(wù)器中設(shè)為YES可以提高網(wǎng)絡(luò)性能
@property BOOL HTTPShouldUsePipelining;

請(qǐng)求回執(zhí)類NSURLResponse屬性簡介
NSURLResponse類中存放請(qǐng)求的回執(zhí)信息,在發(fā)送網(wǎng)絡(luò)請(qǐng)求時(shí),如果請(qǐng)求成功,首先會(huì)接收到服務(wù)端的回執(zhí)信息,直接開始接收具體的返回?cái)?shù)據(jù)。NSURLResponse對(duì)象中主要有以下屬性:

//請(qǐng)求的URL地址
@property (nullable, readonly, copy) NSURL *URL;
//返回?cái)?shù)據(jù)的數(shù)據(jù)類型
@property (nullable, readonly, copy) NSString *MIMEType;
//獲取返回?cái)?shù)據(jù)的內(nèi)容長度
@property (readonly) long long expectedContentLength;
//獲取返回?cái)?shù)據(jù)的編碼方式
@property (nullable, readonly, copy) NSString *textEncodingName;
//返回拼接的數(shù)據(jù)文件名 以u(píng)rl為名 數(shù)據(jù)沒醒MIMEType為擴(kuò)展名
@property (nullable, readonly, copy) NSString *suggestedFilename;
對(duì)于HTTP請(qǐng)求,請(qǐng)求回執(zhí)會(huì)被封裝為NSHTTPURLResponse對(duì)象,其中除了有上面那些屬性外,還有如下的擴(kuò)展屬性:

//請(qǐng)求的狀態(tài)碼
@property (readonly) NSInteger statusCode;
//請(qǐng)求頭中所有的字段
@property (readonly, copy) NSDictionary *allHeaderFields;

相關(guān)文章

  • iOS如何保持程序在后臺(tái)長時(shí)間運(yùn)行

    iOS如何保持程序在后臺(tái)長時(shí)間運(yùn)行

    這篇文章主要為大家詳細(xì)介紹了iOS如何保持程序在后臺(tái)長時(shí)間運(yùn)行,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • IOS觀察者設(shè)計(jì)模式

    IOS觀察者設(shè)計(jì)模式

    什么是觀察者模式 什么是觀察者模式?你曾經(jīng)訂閱過報(bào)紙嗎?在訂閱報(bào)紙的時(shí)候,你不用去任何地方,只需要將你的個(gè)人地址信息以及訂閱信息告訴出版社,出版社就知道如何將相關(guān)報(bào)紙傳遞,本文給大家介紹ios觀察者模式,感興趣的朋友一起看看吧
    2015-12-12
  • iOS?項(xiàng)目嵌入Flutter?運(yùn)行(最新推薦)

    iOS?項(xiàng)目嵌入Flutter?運(yùn)行(最新推薦)

    這篇文章主要介紹了iOS?項(xiàng)目嵌入Flutter?運(yùn)行,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • iOS實(shí)現(xiàn)垂直滑動(dòng)條效果

    iOS實(shí)現(xiàn)垂直滑動(dòng)條效果

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)垂直滑動(dòng)條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • iOS 實(shí)現(xiàn)跑馬燈效果的方法示例

    iOS 實(shí)現(xiàn)跑馬燈效果的方法示例

    可能說起跑馬燈,大家第一個(gè)會(huì)想到的就是山寨機(jī)。但接下來這篇文章介紹的跑馬燈和那個(gè)跑馬燈是不一樣滴。在iOS中,跑馬燈是指label上的字自動(dòng)滾動(dòng),形成類似跑馬燈似的條幅。下面通過這篇文章我們來一起看看iOS 實(shí)現(xiàn)跑馬燈效果的方法,有需要的朋友們可以參考借鑒。
    2017-01-01
  • IOS開發(fā)筆記整理49之詳解定位CLLocation

    IOS開發(fā)筆記整理49之詳解定位CLLocation

    在項(xiàng)目功能中有一個(gè)定位CLLocation的需求,遇到了一些知識(shí)難點(diǎn),經(jīng)過各位大俠的幫助,問題解決,特此分享供大家學(xué)習(xí),希望大家共同學(xué)習(xí)進(jìn)步
    2015-11-11
  • 詳解Objective-C中的語法糖@{}究竟是什么

    詳解Objective-C中的語法糖@{}究竟是什么

    這篇文章主要給大家介紹了關(guān)于Objective-C中語法糖@{}究竟是什么的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • iOS獲取到用戶當(dāng)前位置

    iOS獲取到用戶當(dāng)前位置

    這篇文章主要為大家詳細(xì)介紹了iOS獲取到用戶當(dāng)前位置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS CAEmitterLayer實(shí)現(xiàn)粒子發(fā)射動(dòng)畫效果

    iOS CAEmitterLayer實(shí)現(xiàn)粒子發(fā)射動(dòng)畫效果

    這篇文章主要為大家詳細(xì)介紹了iOS CAEmitterLayer 實(shí)現(xiàn)粒子發(fā)射動(dòng)畫效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • iOS tableView右側(cè)索引視圖狀態(tài)獲取的方法實(shí)例

    iOS tableView右側(cè)索引視圖狀態(tài)獲取的方法實(shí)例

    tableView用于顯示一個(gè)垂直滾動(dòng)的單元格數(shù)(通常為可重復(fù)使用的單元格)組成的視圖,這篇文章主要給大家介紹了關(guān)于iOS tableView右側(cè)索引視圖狀態(tài)獲取的相關(guān)資料,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

手游| 洞头县| 调兵山市| 喀喇| 沙洋县| 墨竹工卡县| 西畴县| 莎车县| 宝丰县| 剑河县| 汝城县| 天水市| 高台县| 都匀市| 新安县| 云梦县| 桦甸市| 曲松县| 德令哈市| 公主岭市| 江北区| 当涂县| 黔西| 澄江县| 光泽县| 吕梁市| 尼勒克县| 贺州市| 田林县| 宽城| 中宁县| 东平县| 泰州市| 平果县| 营口市| 青海省| 始兴县| 镇沅| 宜丰县| 鄯善县| 元江|