iOS网络编程:三、GET代理方式进行异步请求

来源:互联网 发布:sift特征python 编辑:程序博客网 时间:2024/06/06 04:44
@interface RootViewController ()<NSURLConnectionDataDelegate>@property (nonatomic, strong) NSMutableArray *data;@property (nonatomic, strong) NSMutableData *tempData;@end
- (void)GetDelegateAction{    //1 创建URL对象    NSURL *url = [NSURL URLWithString:CQGETUEL];    //2 创建URLRequest对象    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];    // 3注意!!:同步和异步的不同    [NSURLConnection connectionWithRequest:request delegate:self];}//当收到服务器响应的时候-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{    //初始化结构数组    self.data = [NSMutableArray array];    //初始化缓冲水桶    self.tempData = [NSMutableData data];}//接收数据- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{    //将读取的部分拼接到水桶中;    [self.tempData appendData:data];}    //当所有数据接收完毕的时候- (void)connectionDidFinishLoading:(NSURLConnection *)connection{   //对水桶的所有数据进行解析    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:self.tempData options:NSJSONReadingAllowFragments error:nil];    NSArray *arr = dict[@"news"];    for (NSDictionary *dic in arr) {        News *news = [[News alloc] init];        [news setValuesForKeysWithDictionary:dic];        [self.data addObject:news];    }}
0 0