UITableView с массивом массивов и словарей

#objective-c #uitableview

#objective-c #uitableview

Вопрос:

У меня есть вопрос относительно UITableView

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  

У меня нет проблем с помещением данных в TableView с массивом словарей:

 dictionary = [allData objectAtIndex:indexPath.row]; 
  

Но как я могу сделать то же самое, если массив allData в этом случае содержит массивы со словарями?

У меня есть UISegmentedControl, где каждый сегмент представляет запрос веб-сервиса, за исключением первого сегмента, который запрашивает все запросы. Затем все результаты из первого сегмента собираются в массив. Таким образом, это содержит массив для каждого запроса со словарями. Результат любого другого запроса находится в массиве со словарями.

Спасибо,

Комментарии:

1. Я хочу иметь один раздел, в котором будут отображаться все результаты из внутренних массивов.

Ответ №1:

Если я правильно понимаю, каждая ячейка представлена словарем, содержащим ее атрибуты. Каждый раздел представлен массивом этих словарей. Теперь вам просто нужен другой массив, содержащий разделы arrays.

     NSMutableArray *allData;               // just one
    NSMutableArray *sectionArray;          // one per section
    NSMutableDictionary *cellDictionary;   // one per row
    ...

   - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
       return [allData count];
   }

   - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section      {
        return [[allData objectAtIndex:indexPath.section] count];
    }

   - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        NSDictionary *dictionary = [allData objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
        ...
   }