ios - 求助:通过 AFNetworking 网络请求存储的数组在viewDidLoad中为空?
本文介绍了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屋!
查看全文