通常在IPhone里用网络访问会用到NSURLConnection来做url链接请求,下面简单介绍一下:
NSMutableURLRequest
*request=[[NSMutableURLRequest alloc]init];
NSError *err=nil;
NSData *data=[NSURLConnection sendSynchronousRequest:request
returningResponse:nil
error:&err];
if(data==nil)
{
//if([err
code])
NSLog(@"Code:%d,domain:%@,localizedDesc:%@",[err code],
[err domain],[err localizedDescription]);
}
else
{
}
这种情况,通过一个静态方法,请求request,这种情况下,会一直阻塞,等到返回结果,简单易用
2、异步请求
NSMutableURLRequest *request=[[NSMutableURLRequest alloc]init];
NSURLConnection *connection
= [[NSURLConnection alloc] initWithRequest:requestdelegate:self];
[url release];
[request release];
if(connection)
{
receivedData = [[NSMutableData data] retain];
NSLog(@"intial
done!");
}
else
{
NSLog(@"sorry");
}
通过一个delegate来做数据的下载以及Request的接受等等消息,此处delegate:self,所以需要本类实现一些方法,并且定义receivedData做数据的接受
基本上要实现下面节歌方法
- (void)connection:(NSURLConnection *)connection
didReceiveResponse:(NSURLResponse*)response
{
NSLog(@"get
the whole response");
[receivedData setLength:0];
}
- (void)connection:(NSURLConnection *)connection
didReceiveData:(NSData *)data
{
NSLog(@"get
some data");
[receivedData appendData:data];
}