В моем приложении у меня есть массив, который создается в Main_View_Controller из json ответа в цикле:
Main_View_Controller.m
NSMutableArray *Cities = [[NSMutableArray alloc] init];
while (ItemsFromParsedResponse = (NSDictionary *)[enumerator nextObject]) {
AppDelegate *dataCenter = (AppDelegate*)[[UIApplication sharedApplication] delegate];
dataCenter.CityLabel = [ItemsFromParsedResponse objectForKey:@"label"];
[Cities addObject:dataCenter.CityLabel];
dataCenter = nil;
}
AppDelegate *dataCenter = (AppDelegate*)[[UIApplication sharedApplication] delegate];
dataCenter.CityInfo = Cities;
Этот массив должен быть представлен в Popover, содержащий TableView. Я пытаюсь делегировать массив для popover так же, как делегировать его в AppDelegate, но это не работает. Если я прочитал dataCenter.CityInfo в моем CityList_Popover_Contoller, он будет иметь значение nil.
CityList_Popover_Controller.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{//some standard code
AppDelegate *dataCenter = (AppDelegate*)[[UIApplication sharedApplication] delegate];
cell.textLabel.text = [dataCenter.CityInfo objectAtIndex:indexPath.row];
[tableView reloadData];
return cell;
}
Как я могу загрузить CityInfo, только если он не равен нулю? И как я могу отслеживать изменения в этом массиве и динамически обновлять содержимое таблицы в соответствии с новыми данными в массиве?
Извините, если мой вопрос слишком прост, но я потратил много времени, чтобы заставить его работать.
Спасибо за любой совет!