将压缩包中的文件夹拖入xcode工程项目中并引入如下的框架
简单的 JOSN 解析例子
static NSString *serverAddress = @"http://m.weather.com.cn/data/101110101.html";
// 1.创建JSON操作对象
AFJSONRequestOperation *operation =
[AFJSONRequestOperation
JSONRequestOperationWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:serverAddress]]
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"success -- %@", JSON);
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
NSLog(@"failure -- %@", JSON);
}];
// 2.执行对象的操作异步加载
[operation start];
简单的 XML 解析例子
static NSString *serverAddress = @"http://flash.weather.com.cn/wmaps/xml/beijing.xml";
// 1.创建XML操作对象
AFXMLRequestOperation *operation =
[AFXMLRequestOperation
XMLParserRequestOperationWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:serverAddress]]
success:^(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser) {
NSLog(@"success -- %@", XMLParser);
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, NSXMLParser *XMLParser) {
NSLog(@"failure -- %@", XMLParser);
}];
// 2.执行对象的操作异步加载
[operation start];
HTTP POST请求例子
-----------------------------------------------------------------------------------------------------
//内联函数
NS_INLINE AFHTTPClient * createAFHTTPClient(NSString *baseURLString)
{
//创建一个AFHTTPClient的链接,仅需传入服务器URL的String即可
return [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:baseURLString]];
}
NS_INLINE NSData * createJSONDataFromDict(NSDictionary *params)
{
//根据字典创建出JSON专用格式的NSData
return [NSJSONSerialization dataWithJSONObject:params
options:NSJSONWritingPrettyPrinted
error:nil];
}
-----------------------------------------------------------------------------------------------------
//服务器地址
static NSString *serverAddress = @"http://art.wooboo.com.cn/support/service.shtml";
//初始化一个本地的httpClient
AFHTTPClient *httpClient = createAFHTTPClient(serverAddress);
//完善httpClient并形成一个POST请求报文
NSURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST"
path:serverAddress
parameters:nil
constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
NSArray *paramsType = @[@{@"action": @"loadImg", @"artId": @"0"}];
//转换字典数据为JSON专用格式并再次转换为字符串
NSString *params = [[NSString alloc] initWithData:
createJSONDataFromDict(paramsType[0])
encoding:NSUTF8StringEncoding];
//进一步完善请求的内容 (Content-Disposition: form-data; name=#{name}")
[formData appendPartWithFormData:[params dataUsingEncoding:NSUTF8StringEncoding]
name:@"p"];
}];
//将请求报文发送到服务器进行链接
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation
setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"%@", jsonObjectFromData(responseObject));
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error.");
}];
[operation start];