网络编程_get_异步-请求_获取网络数据

87 篇文章 0 订阅

    //1.获取URL,并创建请求对象

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:GET_URL]];

    

    //异步,先执行block块外面的代码,项目中最常见的错误就是,在block外给_dictionary开辟空间,但是块内的  如果遇到tableView加载视图,把tableView写在block块内,直接使用,[self.tableView reloadData]; 如果是其他视图UIView,就需要把block内部的数据传递出来,更新视图。(请求完数据,一定要刷新)

    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

        

        //解析数据

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

        

        //预开辟空间

        _dataArray = [[NSMutableArray alloc]initWithCapacity:5];

        

        //字面量-本质上是便利构造器,语法糖:简化代码,缺点-》浪费资源

        //点语法也是语法糖,动态的去判断是setter还是getter

        //语法盐:直接把消息发送过去。

        //封装成Model对象

        for (NSDictionary *dict in [dictionary objectForKey:@"news"]) {

            News *news = [News new];

            [news setValuesForKeysWithDictionary:dict];

            [_dataArray addObject:news];

        }

        

        //校验

        for (News *news in _dataArray) {

            NSLog(@"%@",news);

        }

        

        //把这个_dataArray传递出去

        [self test:_dataArray];

        

    }];

    NSLog(@"我先走,block内部再走");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值