#ios #arrays #json #afnetworking-2
#iOS #массивы #json #afnetworking-2
Вопрос:
Я использую AFNetworking для одновременного выполнения нескольких вызовов API в Instagram. Я использую запрос получения AFNetworking 2.0 AFHTTPSessionManager.
Я использую цикл for для создания URL-адреса, для которого требуется идентификатор местоположения, который я ищу. Затем цикл for выполняет в этом случае 3 отдельных вызова API и сохраняет каждый ответ в массиве.
Затем я создаю изменяемый массив для хранения объектов в массиве. Мне нужно получить изменяемый массив, как только в нем будут все три объекта. Я попытался передать данные другому методу, но затем столкнулся с той же проблемой — не могу использовать массив, пока не будет запущен предыдущий метод.
-(void)sendGetRequestForLocationMedia:(NSMutableArray*)mutableArray{
for (int i = 0; i<3; i ) {
NSString *getLocationMediaString = [[NSString alloc]initWithFormat:@"locations/%@/media/recent?client_id=%@", self.locationIDObjectArray[i], client_id];
NSLog(@"getLocationMediaString %@", getLocationMediaString);
[[LPAuthClient sharedClient]GET:getLocationMediaString parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
{
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)task.response;
if (httpResponse.statusCode == 200) {
dispatch_async(dispatch_get_main_queue(), ^{
_locationMediaArray = responseObject[@"data"];
if (!_locationMediaJSONArray) {
_locationMediaJSONArray = [[NSMutableArray alloc]init];
}
for (NSDictionary *dictionary in _locationMediaArray) {
[_locationMediaJSONArray addObject:dictionary];
}
});
}
}
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"Failure %@", error);
}];
}
}