ios - 求助:通过 AFNetworking 网络请求存储的数组在viewDidLoad中为空?

查看:116
本文介绍了ios - 求助:通过 AFNetworking 网络请求存储的数组在viewDidLoad中为空?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

 - (void)viewDidLoad {
                
                //请求数据并存储
                [self postData];
                
                //问题在这,我想在 viewDidLoad 中使用 NameArray 的数据,可是在这里打印为空
                NSLog(@"%@",NameArray);
                
                
                
     }
            
            
 -(void)postData{
                
                
                NameArray = [[NSMutableArray alloc]init];//初始化存储数据的数组
                
                //这里是网络请求
                [managerCar POST:urlStrCar parameters:paramsCar success:^(AFHTTPRequestOperation *operation, id responseObject) {
                    
                    //将请求得到的数据存在 NameArray 中
                    [NameArray addObject:data];
                    //这里已经请求成功,并且打印 NameArray 也有值了,(可是在 viewDidLoad 中打印为空)
                    NSLog(@"%@", NameArray);
                    
                } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                    
                }];
                
 }

先谢谢啦。。。

解决方案

[self postData]是网络请求,网络请求是异步的,数据返回时间是不确定的。
所以你在执行[self postData]后立即使用NameArray时,其实你的网络请求还没有得到数据响应,也就是空啦。

这篇关于ios - 求助:通过 AFNetworking 网络请求存储的数组在viewDidLoad中为空?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆