iOS使用系统自带的请求方式方法介绍

来源:互联网 发布:软件sp版本是什么意思 编辑:程序博客网 时间:2024/05/22 15:22

//接收服务器响应的方法,http协议返回来对应NSURLResponse,其实是一个NSHTTPURLResponse实例,NSURLResponse是所有请求的基类

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{

    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;

   //响应会带有服务器返回的状态码

    //常见的状态码: 200成功; 400 客户端语法错误;404请求资源没有找到;500 服务器错误     

    NSLog(@"状态码:%d",[httpResponse statusCode]);

   //接收数据之前,对字节缓冲区进行清空操作

    [_data setLength:0];

}


//服务器响应请求成功后,向客户端发送数据,客户端用此方法接收数据,数据量大的话,此方法会被执行多次

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

   //将收到的数据,拼接到字节缓冲区中

    [_data appendData:data];

}

//数据接收完毕后,执行此方法

- (void)connectionDidFinishLoading:(NSURLConnection *)connection{

    if (_data) {

        id result = [NSJSONSerialization JSONObjectWithData:_data options:NSJSONReadingMutableContainers error:nil];

        if ([result isKindOfClass:[NSDictionary class]]) {

            NSDictionary *dic = (NSDictionary *)result;

            NSArray *array = [dic objectForKey:@"users"];

            NSLog(@"array:%@",array);

            [_dataArray addObjectsFromArray:array];

        }

       //数据真正准备好了之后,对视图进行刷新

        [self.tableView reloadData];

    }

}