AFNetWorking 的同步,异步请求方法

异步与同步请求实现技术
本文详细介绍了异步和同步请求的实现方法,通过使用AFNetworking库中的AFHTTPRequestOperationManager类,展示了如何进行网络请求并处理响应数据。重点讨论了在iOS应用开发中,根据需求选择合适的请求方式以提升用户体验和系统性能。
  • 异步请求
 NSString *urlStr = @"****************";
  AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    [manager GET:urlStr parameters:nil success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {
        NSLog(@"----requestData:%@",responseObject);
        NSArray *dataInfo = responseObject[@"data"];
        for (NSDictionary *dic in dataInfo) {
            PlayerModel *model = [[PlayerModel alloc]initWithDictory:dic];
            [_data addObject:model];
        }
        [self.tableView reloadData];
    } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
        //
        NSLog(@"---requesterror:%@",error);
    }]; 
  • 同步请求

NSString *urlStr = @"********************************";
  AFJSONRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];
    NSMutableURLRequest *request = [requestSerializer requestWithMethod:@"GET" URLString:urlStr parameters:nil error:nil]; 
    AFHTTPRequestOperation *requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    AFHTTPResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializer];

    [requestOperation setResponseSerializer:responseSerializer];
    [requestOperation start];
    [requestOperation waitUntilFinished];

    NSDictionary *userInfo = [requestOperation responseObject];
    NSLog(@"-userInfo-%@",userInfo);
    if (userInfo != nil) {

        NSArray *dataInfo = userInfo[@"data"];
        for (NSDictionary *dic in dataInfo) {
            PlayerModel *model = [[PlayerModel alloc]initWithDictory:dic];
            [_data addObject:model];
        }
        [self.tableView reloadData];
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值