使用自带的网络下载,需要用到NSURLConnection,继承协议。
#pragma mark-
#pragma Request
//开始下载图片数据
-(void)startDownload:(NSString *)imageString
{
// [MBProgressHUD showHUDAddedTo:[[[UIApplication sharedApplication] windows] objectAtIndex:0] animated:YES];
NSString *strurl=[imageString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
dataData =[[NSMutableData alloc]init];
NSURL *url=[NSURL URLWithString:strurl];
// NSURLRequest *imagerequst=[NSURLRequest requestWithURL:url];
NSURLRequest *imagerequst=[NSURLRequest requestWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0f];
dataConnection=[[NSURLConnection alloc]initWithRequest:imagerequst delegate:self];
}
//get方式
-(void)startDownloadData:(NSString*)dataUrlString
withType:(QueryType)type//下载数据
{
if (type!=getTradeRecord)
{
[MBProgressHUD showHUDAddedTo:[[[UIApplication sharedApplication] windows]objectAtIndex:0] animated:YES];
}
NSString *strurl=[dataUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
dataData =[[NSMutableData alloc]init];
m_maintype=type;
NSURL *url=[NSURL URLWithString:strurl];
NSURLRequest *datarequst=[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0f];
dataConnection=[[NSURLConnection alloc]initWithRequest:datarequst delegate:self];
}
//post方式请求数据
-(void)startDownloadData:(NSString *
)dataUrlString withPostData:(NSString *)postData withType:(QueryType)type
{
[MBProgressHUD showHUDAddedTo:[[[UIApplication sharedApplication] windows] objectAtIndex:0]animated:YES];
NSString *strurl=[dataUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
dataData =[[NSMutableData alloc]init];
m_maintype=type;
NSURL *url=[NSURL URLWithString:strurl];
NSMutableURLRequest *datarequst=[[[NSMutableURLRequest alloc]initWithURL:url] autorelease];
datarequst.timeoutInterval = 10.0f;
NSData *postdata=[postData dataUsingEncoding:NSUTF8StringEncoding
allowLossyConversion:YES];//将postData(string)转换为data
[datarequst setHTTPBody:postdata];
[datarequst setHTTPMethod:@"POST"];
dataConnection=[[NSURLConnection alloc]initWithRequest:datarequst delegate:self];
}
//put请求方式
-(void)putstartDownloadData:(NSString*)dataUrlString
withType:(QueryType)type//下载数据
{
[MBProgressHUD showHUDAddedTo:[[[UIApplication sharedApplication] windows] objectAtIndex:0]animated:YES];
NSString *strurl=[dataUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
dataData =[[NSMutableData alloc]init];
m_maintype=type;
NSURL *url=[NSURL URLWithString:strurl];
NSMutableURLRequest *datarequst=[[[NSMutableURLRequest alloc]initWithURL:url] autorelease];
datarequst.timeoutInterval = 10.0f;
[datarequst setHTTPMethod:@"PUT"];
dataConnection=[[NSURLConnection alloc]initWithRequest:datarequst delegate:self];
}
//连接
- (void)connection:(NSURLConnection *)connection
didReceiveData:(NSData *)data
{
[dataData appendData:data];
}
- (void)connection:(NSURLConnection *)connection
didFailWithError:(NSError *)error
{
// UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提示" message:@"网络错误"
delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
// [alert show];
// [alert release];
[MBProgressHUD hideHUDForView:[[[UIApplication sharedApplication] windows] objectAtIndex:0]animated:YES];
[[[[UIApplication sharedApplication] windows] objectAtIndex:0] makeToast:@"网络错误!" ];
return;
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// NSData *data=[[NSData alloc]initWithData:dataData];
if (datadelegate &&
[datadelegate respondsToSelector:@selector(imageDown:andreleaseData:)])
{
[datadelegate imageDown:dataData andreleaseData:self];
return;
}
DataParser *parser = [[DataParser alloc] init];
parser.m_parserdelegate = self;
[parser dataDidload:dataData andreleaseData:self];
[MBProgressHUD hideHUDForView:[[[UIApplication sharedApplication] windows] objectAtIndex:0]animated:YES];
// [data release];
}
//数据请求解析后回调
-(void)myparserCallBack:(NSString *)signs
array:(NSMutableArray *)array{
[MBProgressHUD hideHUDForView:[[UIApplication sharedApplication].windows objectAtIndex:0]animated:YES];
if (datadelegate &&
[datadelegate respondsToSelector:@selector(CallbackToVC:array:)])
{
[datadelegate CallbackToVC:signs array:array];
}
}
-(void)dicCallBack:(NSMutableDictionary *)dic
{
[MBProgressHUD hideHUDForView:[[UIApplication sharedApplication].windows objectAtIndex:0]animated:YES];
if (datadelegate &&
[datadelegate respondsToSelector:@selector(CallbackdicToVC:)])
{
[datadelegate CallbackdicToVC:dic];
}
}