По какой-то причине этот код не работает:
[request setCompletionBlock:^{
NSString *response = [request responseString];
NSDictionary *data = [response JSONValue];
NSArray *events = (NSArray *)[data objectForKey:@"objects"];
for (NSMutableDictionary *event in events){
/* experimental code*/
NSString *urlString = [NSString
stringWithFormat:
@"http://localhost:8000%@?format=json",
[event objectForKey:@"tournament"]];
NSURL *url2 = [NSURL URLWithString:urlString];
ASIHTTPRequest *request2 = [ASIHTTPRequest requestWithURL:url2];
[request2 setCompletionBlock:^{
NSString *responseString = [request2 responseString];
NSDictionary *tournamentDict = [responseString JSONValue];
self.tournamentString = [tournamentDict objectForKey:@"tournament"];
}];
[request2 startAsynchronous];
/* end experimental code */
NSLog(@"%@", self.tournamentString);
[mutableArray addObject:event];
}
self.eventsArray = mutableArray;
[MBProgressHUD hideHUDForView:self.view animated:YES];
[self.tableView reloadData];
}];
, поэтому здесь есть 2 асинхронных запроса, в которых я запускаю один за другим.Я хочу изменить значение свойства airportText после выполнения второго запроса.
Внутри блока завершения для второго запроса, когда я NSLog self.tournamentText, он отображает текст, который я хочу получить.
За пределами блока NSLog создает ноль.
Что я могу сделать, чтобы сохранить изменения в self.tournamentText?Заранее спасибо!Пожалуйста, скажите мне, если я пропустил документацию Apple по этому вопросу.