iOS网络篇

iOS网络请求三步:

1、新建URL连接

2、新建请求(请求新建的URL连接)

3、建立连接。

然后就可以获取数据了。

一、同步GET请求方法

-(void)synchronizationGet

{

    NSString *strURL = @"http://olasapi.sinaapp.com//index.php";

    NSURL *url = [NSURL URLWithString:strURL];

    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];

    

    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

    NSLog(@"请求完成");

    

    

    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];

    NSLog(@"%@",dic);

}

 

二、异步get

-(void)asynchronousGet

{

  

    NSString *strURL = @"http://olasapi.sinaapp.com//index.php";

    NSURL *url = [NSURL URLWithString:strURL];

    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];

    

    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

    

    if (connection) {

        _data = [NSMutableData new];

    }

}

#pragma mark - NSURLConnection回调方法

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{

    [_data appendData:data];

}

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

{

    

}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection

{

    NSLog(@"请求完成");

    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:_data options:NSJSONReadingAllowFragments error:nil];

    NSLog(@"%@",dic);

}

 

三、异步POST

-(void)asynchronousPost

{

    NSString *strURL = @"http://olasapi.sinaapp.com//index.php";

    NSURL *url = [NSURL URLWithString:strURL];

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];

    [request setHTTPMethod:@"POST"];

//    [request setHTTPBody:@""]

    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

    

    if (connection) {

        _data = [NSMutableData new];

    }

 

}

 

代理方法同get异步中的代理方法

posted @ 2015-03-02 10:09  zhanggui  阅读(296)  评论(2编辑  收藏  举报