AFNetworking

框架學(xué)習(xí)

cmd+shift+j 跳轉(zhuǎn)當(dāng)前文件
1.獲取框架
2.查看官方文檔
3.運(yùn)行演示程序
4.建立學(xué)習(xí)分支
5.編寫測(cè)試程序

- (void)postJSON {

     AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    mgr.requestSerializer = [AFJSONRequestSerializer serializer];
    
    mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
    NSDictionary *params = @{@"name": @"xiaohua", @"age": @18};

    [mgr POST:@"http://localhost/upload/postjson.php" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {

        NSLog(@"%@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]);

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"%@", error);
    }];
}```



/**
 請(qǐng)求的數(shù)據(jù)格式(一般都是 `HTTP` 二進(jìn)制數(shù)據(jù),RESTful設(shè)計(jì)風(fēng)格要求 POST JSON)
 self.requestSerializer = [AFHTTPRequestSerializer serializer];
 
 響應(yīng)的數(shù)據(jù)格式(JSON 是使用最廣的數(shù)據(jù)格式,沒(méi)有之一!)
 默認(rèn)就是 JSON,能夠自動(dòng)實(shí)現(xiàn) JSON 的反序列化
 self.responseSerializer = [AFJSONResponseSerializer serializer];
 
 <AFURLRequestSerialization>    請(qǐng)求的數(shù)據(jù)格式
     AFHTTPRequestSerializer            HTTP,二進(jìn)制,默認(rèn)的
     AFJSONRequestSerializer            JSON
     AFPropertyListRequestSerializer    PList
 
 <AFURLResponseSerialization>   響應(yīng)的數(shù)據(jù)格式
     AFHTTPResponseSerializer           二進(jìn)制
     AFJSONResponseSerializer           JSON,默認(rèn)的
     AFXMLParserResponseSerializer      XML `解析器`
     AFXMLDocumentResponseSerializer (Mac OS X) iPhone不能直接使用,需要用GData-XML
     AFPropertyListResponseSerializer   PList
     AFImageResponseSerializer          Image,AFN同樣提供了異步加載網(wǎng)絡(luò)圖片的功能
                                        但是:不支持 `GIF`,只有 `SDWebImage` 支持
     AFCompoundResponseSerializer       `組合`
 
 * 常見(jiàn)數(shù)據(jù)格式的小結(jié)
 
 1. 發(fā)送二進(jìn)制數(shù)據(jù),返回 JSON
    AFN 的默認(rèn)格式
 2. 發(fā)送二進(jìn)制數(shù)據(jù),返回 XML
    1> SAX 解析
    mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];
 
    2> DOM 解析(對(duì)節(jié)點(diǎn)增加或者刪除) 二進(jìn)制數(shù)據(jù)格式
    mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
 
    [[GDataXMLDocument alloc] initWithData:data error:NULL];
 
 3. 發(fā)送 JSON 修改請(qǐng)求的數(shù)據(jù)格式
    AFJSONRequestSerializer
 
 4. 其他:Image,用 SDWebImage 居多!
 
 ** 提示:
 
 status code: 200
 
 說(shuō)明網(wǎng)絡(luò)請(qǐng)求成功,`二進(jìn)制數(shù)據(jù)`已經(jīng)正確傳輸?shù)奖镜? 數(shù)據(jù)
感謝@daoge
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容