框架學(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