本文机遇afnetworing2.* 3.0有些修改的地方,本人尚未探究。
首先先上代码,不想探究的可以直接复制粘切去使用了
-(void) getDataFromeNet:(NSString *)urlStr{
NSLog(@"get data from net:%@",urlStr);
//请求的url地址
NSURL *url=[NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
//用NSURLRequest包装一下
NSURLRequest *requst = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
//AFHTTPRequestOperation包装一下
AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:requst];
// 调用AFHTTPRequestOperation 的setCompletionBlockWithSuccess方法
[op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *op,id responseObject){
NSString *jsonstr=op.responseString;
NSData *data=[jsonstr dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"NSDictionary%@",dic);
dataAarry = [dic objectForKey:@"zdBusinessList"];
// NSLog(@"获取到的数据为:%@",dataAarry);
NSLog(@"dataarray connt:%lu",(unsigned long)dataAarry.count);
if ([dataAarry count]<1) {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"没有相关数据" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alert show];
};
[self doneLoadingTableViewData];
}failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"发生错误!%@",error);
[self doneLoadingTableViewData];
}];
// 最后别忘了start
[op start];
}
首先先看这个方法
/*!
@method requestWithURL:cachePolicy:timeoutInterval:
@abstract Allocates and initializes a NSURLRequest with the given
URL and cache policy.
@param URL The URL for the request.
@param cachePolicy The cache policy for the request.
@param timeoutInterval The timeout interval for the request. See the
commentary for the <tt>timeoutInterval</tt> for more information