У меня есть требование отображать данные из веб-службы в расширяемом представлении таблицы до двух уровней. Хотя это возможно со статическими данными, я не могу найти способ сделать эту работу с данными, полученными из бэкэнд. Пример этого в Постмане показан ниже:Отображение данных в расширяемом/сворачиваемом UITableView из JSON (цель-c)
One Level UITableView Data in Postman
Выше только для расширения первого уровня. Здесь «Бухгалтеры» являются основной категорией и «jj-тегами», «Сертифицированный публичный» & «Общие службы» - это подкатегории, которые будут видны после расширения (как только пользователь наберет ячейку с именем «Бухгалтеры»). Аналогично, несколько категорий должны отображаться и могут содержать или не содержать дальнейшее расширение второго уровня.
Что касается веб-службы, я имею возможность получать данные о 2-мя способами:
- Getting как основные и подкатегорий в одном API (как показано на скриншоте выше).
- Получение основных и подкатегорий в отдельных API.
До сих пор я пытался реализации основных категорий в titleForHeaderInSection
& первого уровня подкатегорий в cellForRowAtIndexPath
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [[subCatArray objectAtIndex:section] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ceLL" forIndexPath:indexPath];
cell.textLabel.text = [[subCatArray objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
return cell;
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return [catArray count];
}
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
for (int i=0; i<[catArray count]; i++) {
if(section == i){
return NSLocalizedString([catArray objectAtIndex:i], nil);
}
}
return nil;
}
Но как я могу идти о втором уровне и делает эти разборные/расширяемая ?
Вы помогли до некоторой степени, однако это не относится к третьему уровню. –
Спасибо за ваши отзывы –